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