Je suis en train d'écrire une directive de vérification de mot de passe :
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">
Étant donné deux champs de mot de passe dans un formulaire, si les deux valeurs de mot de passe sont égales, alors le champ concerné par la directive est valide. Le problème est que cela fonctionne dans un sens (c'est-à-dire lorsque je tape un mot de passe dans le champ de vérification du mot de passe). Cependant, lorsque le champ du mot de passe original est mis à jour, le champ de vérification du mot de passe ne devient pas valide.
Une idée de la façon dont je pourrais avoir une "vérification de la liaison dans les deux sens" ?