我在AngularJS中有一些关于验证的问题
问题1:
如何在控制器不视图中的AngularJS中实现以下功能
vanilla js code
document.getElementById('InputId).value.length
我在AngularJS中尝试了以下内容
$scope.myForm.InputngModelName.length
第2期
我有directive
验证电子邮件
如何从我的控制器中调用它?
以下是指令
angular.module('myValidator',[])
.directive('myValidator',function(){
return{
restrict: 'A',
require: "ngModel",
link: function(scope, elm, attrs, ctrl){
switch (attrs.myValidator){
case 'email':
var regex=/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
break;
}
ctrl.$parsers.unshift(function(viewValue){
if(regex.test(viewValue)){
ctrl.$setValidity('myValidator',true);
}
else{
ctrl.$setValidity('myValidator',false);
}
return viewValue;
});
}
};
});
答案 0 :(得分:0)
我会研究使用angular-validator,它非常精简,您可以轻松添加自定义验证方法。它还包括一个电子邮件验证器。
Angular-Validator是一个易于使用,功能强大且轻量级的AngularJS验证指令。
<input type = "email"
name = "emailAddress"
class = "form-control"
ng-model = "form.emailAddress"
invalid-message="'Thats not a real email address'"
required-message="'Yo this is required'"
validate-on="dirty"
required>
https://github.com/turinggroup/angular-validator http://plnkr.co/edit/XbDYKrM2QUf8g1ubTHma?p=preview