在angularjs中形成验证

时间:2014-12-04 05:59:06

标签: javascript angularjs validation

我尝试按以下方式实施表单验证:

我的表格包含名称,密码等。对于那些我们拥有的文本框,许多验证,例如名称不应该只是数字,名称不应该是全部大写,就像我们对每个文本框有近15-20个验证。

我们使用angularjs中的模式实现了所有这些验证。我为每个模式编写了diff函数。有没有更好的方法来使用angularjs

为一个文本框实现如此多的验证

注意:请澄清更好的方法。我已经实现了seeems工作正常,但我想知道使用angular

的任何其他简单方法进行验证

1 个答案:

答案 0 :(得分:0)

使用"模式"是什么意思?验证?你的意思是ng-pattern指令吗?

您应该使用ngModelController上的$validators媒体资源:

.directive('validateName', function() {
  return {
    require: 'ngModel',
    link: function(scope, element, attrs, ctrl) {
      ctrl.$validators.validateName = function(modelValue, viewValue) {
        if (viewValue === ...) {
          // run validation logic,
          // return true for valid
          return true;
        }

        // return false for invalid
        return false;
      };
    }
  };
});

并将其应用于您的输入:

<input type="text" ng-model="name" validate-name>