角度形式在第一次验证错误时停止,在错误状态下留下$ error

时间:2014-06-20 17:45:42

标签: angularjs

我的表单中有一个电子邮件字段,该字段已经过验证,不会为空且有效的电子邮件。代码如下(请参阅plunker - Angular 1.3.0-beta.13):

<form name="myForm" novalidate>
  <input type="email" name="email" ng-model="email" required>
  <span ng-show="myForm.email.$error.required">Missing Email</span> |
  <span ng-show="myForm.email.$error.email">Invalid Email</span>
  <pre>myForm.email.$error: {{  myForm.email.$error | json }}</pre>
</form>

启动时,只会显示“Missing Email”消息,如预期的那样。当我开始输入输入时,即使字段为空,也会显示Missing EmailInvalid Email消息!这不是预期的。

enter image description here

输入有效的电子邮件时,两个错误都会按预期消失:

enter image description here

从有效的电子邮件状态变为无效的电子邮件状态(通过删除字符)时,只会显示无效的电子邮件消息,如预期的那样:

enter image description here

似乎角度在第一次验证违规时停止,使$ error对象处于陈旧状态。

这是框架中的错误吗?我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

这是angularjs 1.3.0 beta中的bug(至少达到beta.13)。 pull request待定。