Javascript 验证AngularJs中日期的输入类型
这里有一个问题 请注意,当字段为Javascript 验证AngularJs中日期的输入类型,javascript,angularjs,validation,date,Javascript,Angularjs,Validation,Date,这里有一个问题 请注意,当字段为必填项时,此问题不会出现 我有一个日期类型的输入,例如: <label for="due-date">Due date</label> <input type="date" name="dueDate" id="dueDate" ng-model="form.dueDate" > <div ng-if="myForm.dueDate.$touched && !myForm.dueDate.$
必填项时,此问题不会出现
我有一个日期类型的输入,例如:
<label for="due-date">Due date</label>
<input
type="date"
name="dueDate"
id="dueDate"
ng-model="form.dueDate"
>
<div ng-if="myForm.dueDate.$touched && !myForm.dueDate.$valid" ng-messages="myForm.dueDate.$error">
<p class="form-error-text" ng-show="myForm.dueDate.$error">
Please set correct date (yyyy-mm-dd)
</p>
</div>
截止日期
请设置正确的日期(yyyy-mm-dd)
视觉演示:
根据此ng if=“myForm.dueDate.$toucted&&!myForm.dueDate.$valid”
检查字段是否有效,如果无效,则请设置正确的日期(yyyy-mm-dd)
将显示。正如您可能注意到的,该字段不是必填字段。这意味着默认情况下,myForm.dueDate.$valid
为true
场景:
预期:按预期工作
预期:按预期工作
预期:必须显示错误消息,因为该字段无效
/01/01/2015
,然后更改为/01/mm/2015
(无效)
预期:按预期工作
/01/01/2015
,然后更改为/dd/mm/yyyyy
(根据ng if=“myForm.dueDate.$toucted&&!myForm.dueDate.$valid
语句有效)
预期:由于字段有效,因此不必显示错误消息
看起来这是AngularJS v1.4.x中的一个bug,原因很清楚,@gkalpak已经提供了一个解决方案,但是PR正在进行中,可能需要一段时间才能修复