Angularjs 自定义电子邮件,定期验证
我需要执行两个步骤来验证电子邮件。 首先,我想使用角度Angularjs 自定义电子邮件,定期验证,angularjs,Angularjs,我需要执行两个步骤来验证电子邮件。 首先,我想使用角度 type="email" 为了检查电子邮件的有效性,然后我想使用自定义指令,以便将此电子邮件发送到服务器执行一些检查 自定义验证目录代码: angular.module('app.register') .directive('emailAvailable',['registerResource', function(registerResource) { return { restrict: 'A', require
type="email"
为了检查电子邮件的有效性,然后我想使用自定义指令,以便将此电子邮件发送到服务器执行一些检查
自定义验证目录代码:
angular.module('app.register')
.directive('emailAvailable',['registerResource', function(registerResource) {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attr, ctrl) {
function customValidator(ngModelValue) {
registerResource.emailAvailable.save({"email": ngModelValue},
function(response){
// Show that email is valid
},
function(response){
// Show that email is not valid
});
return ngModelValue;
}
ctrl.$parsers.push(customValidator);
}
};
我的问题是如何在检查angular type=“email”的有效性后执行customValidator功能 使用自定义验证器,您可以执行以下操作:
var app = angular.module('form-example1', []);
// only allows e-mail from google
var EMAIL_REGEXP = /^[a-z0-9](\.?[a-z0-9]){5,}@g(oogle)?mail\.com$/;
app.directive('email', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$validators.email = function(modelValue, viewValue) {
if (ctrl.$isEmpty(modelValue)) {
// consider empty models to be valid
return true;
}
if (EMAIL_REGEXP.test(viewValue)) {
// it is valid
return true;
}
// it is invalid
return false;
};
}
};
});
.您应该使用异步验证程序而不是解析器。查看asyn在按类型验证电子邮件后的工作情况?我只想在电子邮件有效的情况下向服务器发送请求。我链接到的文档中说:而且,所有异步验证程序只有在所有同步验证程序都通过后才会运行。@JBNizet工作正常