我有这段代码来判断元素在我的指令中是有效还是无效:
myModule.directive('myDirective',function(){
return {
restrict: 'A',
scope: {},
require:'ngModel',
link: function(scope,element,attrs,ctrl){
if(ctrl.$invalid){
//do something
}
}
}});
所以我的问题是如何确定哪种类型的验证无效?最长长度?我的其他自定义验证?
因为我需要生成适当的验证消息来显示。
答案 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>