저는 "각도, 노드 및 토큰 인증을 사용하여 응용 프로그램 만들기"자습서에서 배우고 있습니다. 그리고 나는 붙어 버렸다. 내가 발견이이 코드 :AngularJS 암호 유효성 확인
HTML
<form name="register" class="form-signin" novalidate>
<h1 class="form-signin-heading text-muted">Register</h1>
<input type="email" ng-model="email" name="email" class="form-control" placeholder="Email address" required autofocus>
<p class="help-block" ng-show="register.email.$dirty && register.email.$invalid">Please enter a proper email.</p>
<input type="password" name="password" ng-model="password" class="form-control" placeholder="Password" required>
<input type="password" name="password_confirm" ng-model="password_confirm" class="form-control" placeholder="Confirm Password" validate-equals="password">
<p class="help-block" ng-show="register.password_confirm.$invalid && register.password_confirm.$dirty">please match the passwords.</p>
<button ng-disabled="register.$invalid" class="btn btn-lg btn-primary btn-block" type="submit">
Submit
</button>
</form>
및 JS
angular.module('myApp', []).directive('validateEquals', function() {
return {
require: 'ngModel',
link: function (scope, element, attrs, ngModelCtrl) {
function validateEqual(value) {
var valid = (value === scope.$eval(attrs.validateEquals));
ngModelCtrl.$setValidity('equal', valid);
return valid ? value : undefined;
}
ngModelCtrl.$parsers.push(validateEqual);
ngModelCtrl.$formatters.push(validateEqual);
scope.$watch(attrs.validateEquals, function() {
ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
});
}
};
});
이 지시어는 비디오에 따라 나에게
password
및
password_confirm
입력에 대한 적절한 양방향 유효성 검사를 제공하지만,해야 does not (비디오에서 작동한다, 나는 혼란 스럽다). 그것은
password_confirm
의 값을 변경할 때 유효하지만,
password
을 변경하면 유효성 검사가 작동하지 않습니다. 여기 plunker
plunker입니다. 질문 : 그 코드에 무슨 문제가 있습니까? 어떻게 해결해야합니까?
들으 많은, 검증이 올바른 방법입니다, 난 내 새로운 작업 지시를 게시 할 예정입니다. – szapio