Я пишу директиву проверки пароля:
 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">
Учитывая два поля пароля в форме, если оба значения пароля равны, поле, на которое распространяется действие директивы, является допустимым. Проблема в том, что он работает одним способом (например, когда я ввожу пароль в поле проверки пароля). Однако, когда исходное поле пароля обновляется, проверка пароля не становится действительной.
Любая идея, как я мог бы проверить двустороннюю привязку?