2014-05-08 50 views
4

我發現一個問題,使用的日期選擇器,彈出時落在的minDate或的maxDate值之外的手動輸入日期值的驗證。 http://angular-ui.github.io/bootstrap/#/datepickerAngularUI日期選擇器,彈出式 - 手動輸入日期和最大/最小日期

  1. 確保分鐘日期選項被接通(分鐘日期今天應該等於)
  2. 式中:

    這可以與對角UI站點日期選擇器彈出按以下步驟來證實昨天約會的日期選擇器彈出

這顯示了一個紅色邊框內嵌日期選擇器(因爲它被標記爲ng-invalid-date),但datepicker-popup的輸入框仍然有效。

在進一步的調查似乎NG-無效的最新屬性已設置對日期選擇器的彈出一部分,而不是對輸入框。這會導致問題,因爲首先,用戶看不到該元素是無效的,其次彈出窗口沒有名稱屬性,所以我無法檢查ng格式的有效性(例如myForm.myDate。$ invalid

任何人都知道解決這個什麼辦法?

+0

該鏈接不起作用 – lmyers

回答

9

你可以做的那場假的文本字段和setValidity NG-變化額外的驗證,以達到你想要的東西。這是一個演示想法plunker。

http://plnkr.co/edit/N9Hk9QFIfj3IXfHoWwbt?p=preview

我加了一點CSS樣式,以獲得紅色邊框顯示該字段何時無效。有效性測試非常基礎,你想增強它以允許當天。

+6

什麼是角最小的點,如果您需要更多的變化()驗證最大的日期?他們只是在那裏默認值? – CarbonandH20

0

如果您在輸入設置這樣,<input type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="date" is-open="open" datepicker-options="datePickerDateOptions" close-text="Close" ng-change="change()" />

然後在你的控制器,你可以查閱一下$ scope.date是你$scope.change()功能。如果$scope.dateundefined則其無效。如果其null則爲空。其他任何事情都是有效的日期。

相關問題