Ich schreibe eine Anweisung zur Kennwortüberprüfung:
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">
Wenn bei zwei Kennwortfeldern in einem Formular beide Kennwortwerte gleich sind, ist das von der Anweisung betroffene Feld gültig. Das Problem ist, dass es in eine Richtung funktioniert (dh wenn ich ein Passwort in das Feld zur Passwortüberprüfung eingebe). Wenn jedoch das ursprüngliche Kennwortfeld aktualisiert wird, wird die Kennwortüberprüfung nicht gültig.
Irgendeine Idee, wie ich eine "Zwei-Wege-Bindungsüberprüfung" durchführen lassen könnte?