【发布时间】:2012-12-23 15:34:49
【问题描述】:
我正在编写密码验证指令:
Directives.directive("passwordVerify",function(){
return {
require:"ngModel",
link: function(scope,element,attrs,ctrl){
ctrl.$parsers.unshift(function(viewValue){
var origin = scope.$eval(attrs["passwordVerify"]);
if(origin!==viewValue){
ctrl.$setValidity("passwordVerify",false);
return undefined;
}else{
ctrl.$setValidity("passwordVerify",true);
return viewValue;
}
});
}
};
});
html:
<input data-ng-model='user.password' type="password" name='password' placeholder='password' required>
<input data-ng-model='user.password_verify' type="password" name='confirm_password' placeholder='confirm password' required data-password-verify="user.password">
给定表单中的 2 个密码字段,如果两个密码值相等,则受指令影响的字段有效。 问题是它以一种方式工作(即当我在密码验证字段中输入密码时)。但是,当原始密码字段更新时,密码验证无效。
知道如何进行“双向绑定验证”吗?
【问题讨论】:
标签: javascript angularjs