1
我設置瞭如下所示的日期選擇器。如果我輸入了無效的日期,我總是看到「可用日期是必需的」消息,而不是「輸入有效的日期」消息。有人看到這裏有什麼問題嗎?ui-bootstrap日期選擇器和驗證
<div class="form-group" ng-class="{'has-error': productForm.inputAvailabilityDate.$invalid && productForm.inputAvailabilityDate.$dirty}">
<label class="col-md-2 control-label" for="inputAvailabilityDate">Availability</label>
<div class="col-md-4">
<div class="input-group">
<input type="date"
id="inputAvailabilityDate"
name="inputAvailabilityDate"
class="form-control"
data-datepicker-popup="MM/dd/yyyy"
ng-model="vm.product.releaseDate"
data-is-open="vm.opened"
data-show-weeks="false"
required />
<span class="input-group-btn">
<button type="button"
class="btn btn-default"
ng-click="vm.open($event)">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</div>
</div>
<span class="help-block text-danger" ng-show="productForm.inputAvailabilityDate.$invalid && productForm.inputAvailabilityDate.$dirty">
<span ng-show="productForm.inputAvailabilityDate.$error.required">
Availability Date is required
</span>
<span class="help-block text-danger" ng-show="!productForm.inputAvailabilityDate.$error.required">
Enter a valid date.
</span>
</span>
</div>
謝謝!
我可以看到1個的問題。所需的不是驗證輸入。它只是檢查是否有值,而不是哪個值。你也可以編寫'ng-show =「productForm.inputAvailabilityDate。$ valid',你應該得到同樣的行爲。我看到的另一個問題是,如果你真的使用twittet-bootstrap,那麼你的模型不知道這個值有你應該使用ui-bootstrap來代替,所以框架組件會爲你更新模型,使用普通的JavaScript永遠不會改變。 – Sebastian
好的我錯了:-),但是我的答案告訴你什麼是問題。 – Sebastian