我正在使用使用指令实现的自定义表单输入验证器。在指令中,验证事件绑定到输入的模糊事件。所以在模糊时,它使用 $setValidity 设置模型的有效性。但是,在模型的值再次修改之前,$valid 状态不会更新。换句话说,$valid 状态总是落后一个状态。
更具体地说,我正在使用 backlift.com 提供的 Angular Stripe 帮助程序库。这是我所指的代码块:此处为第 613 行。
在视图中,我有这样的 div 块:
<div class="field-box error" ng-show="myForm.field.$dirty && myForm.field.$invalid">
<div class="alert-msg"><i class="icon-remove-sign"></i> Some friendly message</div>
</div>
知道为什么执行 on-blur 事件后 $valid/$invalid 属性不更新吗?仅供参考, _validate 方法正确地完成了它的工作,并且 $setValidity() 在预期时使用正确的值调用。
提前致谢。