Я пытаюсь интегрировать простую проверку проверки пароля с помощью углового. По какой-то причине независимо от того, что я делаю ngModel. $ Validate() не определен, и, таким образом, проверка действительности не выполняется. Любая помощь очень полезна. У меня есть собственный контроллер:
angular.module('todo')
.controller('RegisterController', ['$scope', '$http', '$location', function($scope, $http, $location) {
$scope.register = function() {
});
Я получил маршрутизатор:
.config(function($routeProvider) {
$routeProvider.
when('/todo', {
templateUrl: './partials/todo.html',
controller: 'TodoController'
}).
when('/register', {
templateUrl: './partials/register.html',
controller: 'RegisterController'
}).
otherwise({
redirectTo: '/todo'
});
});
И я получил директиву:
var compareTo = function() {
return {
require: "ngModel",
scope: {
otherModelValue: "=compareTo"
},
link: function(scope, element, attributes, ngModel) {
ngModel.$validators.compareTo = function(modelValue) {
return modelValue == scope.otherModelValue;
};
scope.$watch("otherModelValue", function() {
console.log('in otherModelValue ');
console.log('ngModel.$validate() : ' + ngModel.$validate());
ngModel.$validate();
});
}
};
};
angular.module('todo').directive("compareTo", compareTo);
я связать все это вместе в следующем порядке:
<input id="password" name="password" type="password" placeholder="Password" ng-model="password" required/> <br/>
<input id="passwordConfirm" type="password" placeholder="Repeat Password" ng-model="confirmPassword" required compare-to="password" /> <br/>
Я считаю/думаю, что вы на самом деле сообщают, что ngModel $ Validate. - функция, а не возвращаемое значение, была не определена. Вы нашли решение? –
Как вы решили эту проблему? – Ankita