我们如何在AngularJS中获得哪些验证无效

时间:2014-04-25 01:10:30

标签: angularjs validation

我有这段代码来判断元素在我的指令中是有效还是无效:

myModule.directive('myDirective',function(){
return {
    restrict: 'A',
    scope: {},
    require:'ngModel',
    link: function(scope,element,attrs,ctrl){

        if(ctrl.$invalid){
            //do something
        }
    }
}});

所以我的问题是如何确定哪种类型的验证无效?最长长度?我的其他自定义验证?

因为我需要生成适当的验证消息来显示。

2 个答案:

答案 0 :(得分:1)

NgModelController(或您的示例中为ctrl)具有$error属性,您可以使用该属性查看验证错误。

因此,如果“必需”验证失败,则此属性将是真实的:ctrl.$error.required

答案 1 :(得分:1)

听起来您可能需要查看$error对象的ctrl

看看以下内容:

https://docs.angularjs.org/guide/forms#custom-validation

查找$error的参考资料。那里有一些具体的例子对你有所帮助。

例如:

<div ng-show="form.uEmail.$dirty && form.uEmail.$invalid">Invalid:
  <span ng-show="form.uEmail.$error.required">Tell us your email.</span>
  <span ng-show="form.uEmail.$error.email">This is not a valid email.</span>
</div>