在表单加载上显示自定义验证(AngularJs 1.6)

时间:2017-04-26 18:19:08

标签: javascript angularjs-directive angular-validation

我有这样的自定义验证:

app.directive('checkRfc', function() {
  return {
    require: 'ngModel',
    link: function(scope, element, attr, mCtrl) {
      function checkRfcValidation(value) {
        if (scope.clientForm.requireBill.$modelValue === "1" && value.length > 0) {
          mCtrl.$setValidity('rfcOk', true);
          //scope.examsForm.authorization.$setValidity("discountOk", true);
        }
        else {
          mCtrl.$setValidity('rfcOk', false);
          //scope.examsForm.authorization.$setValidity("discountOk", false);
        }
        return value;
      }

      mCtrl.$parsers.push(checkRfcValidation);
    }
  };
});

工作正常,但我必须在相应的字段中输入一些字符,然后才会触发验证。有没有办法在表单加载时自动激活验证?

1 个答案:

答案 0 :(得分:0)

您可以在链接中编写一个函数,如下所示

ngModel.$render = function () {.....}

此函数在首次渲染模型时以及从代码更改模型时执行。因此,它将解决在值更改时以及渲染时触发的目的。 希望它会有所帮助。