【发布时间】:2015-12-13 07:12:39
【问题描述】:
我目前使用ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }" 是为了避免在我的用户填写输入时向他们显示错误。但是,我发现这也让错误变得不和谐,一旦它们出现,即使错误已经得到纠正,也会停留更长时间。
我想知道是否有一些(非hacky)方法可以根据 ngModel 的有效性动态更改 ngModelOptions,这样如果模型有效,它只会在模糊时验证更改,而如果它无效,它将立即验证。这样做的最终结果是错误会尽快消失,而在绝对必要之前不会再次出现。
【问题讨论】:
-
您可以使用观察者 ($scope.$watch) 来执行此操作,使用 $timeout (stackoverflow.com/questions/20397253/…) 在 watch 方法中应用去抖动。这样,您可以仅在需要时应用去抖动
-
请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
标签: angularjs validation user-experience angular-ngmodel