Я сделал эту директиву, чтобы проверить номер, если он находится в диапазоне:AngularJs проверка директива не обновляет моделирует
app.directive('nkNumber', function(){
return {
scope: {
max: '=nkMax',
min: '=nkMin'
},
require: 'ngModel',
restrict: 'A',
link: function($scope, iElm, iAttrs, controller) {
function validate(value){
if (angular.isDefined(value)){
value = parseInt(value);
if ($scope.max){
var max = parseInt($scope.max);
controller.$setValidity('nkMax', value < max)
}
if ($scope.min){
var min = parseInt($scope.min);
controller.$setValidity('nkMin', value > min)
}
}
return value;
}
controller.$parsers.push(validate);
controller.$formatters.push(validate);
}
};
});
Проверка отлично работает, но моя модель не обновляются при изменении значения на входе.
Почему это происходит? Как я могу это решить?
Где/почему/как должна обновляться модель? Валидация действительно работает: http://plnkr.co/edit/PWOL8zyFDnpiLDuFnjrn?p=preview, но не могли бы вы объяснить, что такое ожидаемое поведение? –
mmm это работает ... Это Угловая версия, меняющая ее на '1.0.3', она перестает работать ... Я использую' 1.0.5' ... http://plnkr.co/edit/ qRc8JClqCc5DFTjigrxL? р = предварительный просмотр – rascio