这应该解决它:
视图:
<div ng-controller='Ctrl'> <form name='form'> <input data-ng-model='user.password' type="password" name='password' placeholder='password' required> <div ng-show="form.password.$error.required"> Field required</div> <input ng-model='user.password_verify' type="password" name='/confirm/i_password' placeholder='confirm password' required data-password-verify="user.password"> <div ng-show="form./confirm/i_password.$error.required"> Field required!</div> <div ng-show="form./confirm/i_password.$error.passwordVerify"> Fields are not equal!</div> </form</div>
指示
var app = angular.module('myApp', []);app.directive("passwordVerify", function() { return { require: "ngModel", scope: { passwordVerify: '=' }, link: function(scope, element, attrs, ctrl) { scope.$watch(function() { var combined; if (scope.passwordVerify || ctrl.$viewValue) { combined = scope.passwordVerify + '_' + ctrl.$viewValue; } return combined; }, function(value) { if (value) { ctrl.$parsers.unshift(function(viewValue) { var origin = scope.passwordVerify; if (origin !== viewValue) { ctrl.$setValidity("passwordVerify", false); return undefined; } else { ctrl.$setValidity("passwordVerify", true); return viewValue; } }); } }); } };});


