我正在使用使用指令实现的自定义表单输入验证程序。在指令中,验证事件绑定到输入的blur事件。因此,在模糊时,它使用$ setValidity设置模型的有效性。但是,在再次修改模型的值之前,不会更新$ valid状态。换句话说,$ valid状态总是落后于一个状态。
更具体地说,我正在使用backlift.com提供的Angular Stripe帮助程序库。这是我所指的代码块:Line 613 here.
在视图中,我有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()。
提前致谢。
答案 0 :(得分:0)
scope.$digest
将解决您的问题。无论何时在指令中集成非Angular插件,请确保执行范围。$ digest以保持范围更新。