在angular is $ pending只在$ asyncValidators的表单上设置?

时间:2015-04-28 18:27:07

标签: javascript angularjs validation

我在提交表单时调用了ng-submit函数。 我希望在调用任何挂起的$ asyncValidator后执行一些操作。

if (myForm.$pending) {
    var pendingWatch = scope.$watch(function() {
         return myForm.$pending; }, function(pending) {
               if (!pending) {
                   pendingWatch();
                   performSubmit();
               }
         });
} else {
    performSubmit();    
}

我遇到的问题是myForm。$ pending总是返回一个对象。即使价值不是$asyncValidators而是自定义$validators,我添加了。所有输入都没有发生这种情况。

如何使表单具有甚至不$asyncValidators的待定验证?这些“待定”验证永远不会完成。

1 个答案:

答案 0 :(得分:3)

不,实际上,根据我的经验,如果您的任何自定义验证器返回'undefined'(即使没有任何asyncValidators存在),也会在表单上设置$ pending

因此,要解决此问题,请确保所有验证器都返回true / false