【发布时间】:2013-06-02 17:29:35
【问题描述】:
我为我的表单创建了一个验证指令。 它基本上根据来自另一个字段的数据验证字段值。
效果很好:-)
我的问题是,如果执行验证后其他字段发生变化,验证将不会再次运行。
var myApp = angular.module('myApp', [])
.directive('validateInteger', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$parsers.unshift(function(viewValue) {
var int1val = scope.int1;
scope.int2valid = (viewValue > int1val) ? "valid" : undefined;
if (scope.int2valid == "valid") {
ctrl.$setValidity('higher', true);
return viewValue;
} else {
ctrl.$setValidity('higher', false);
return undefined;
}
});
}
};
});
jsfiddle:http://jsfiddle.net/hanspc/vCFFQ/
【问题讨论】:
-
这不会纠正“验证”问题,但您可以使用
ng-hide="int2>int1"隐藏 div,在隐藏表达式中设置>运算符。
标签: validation angularjs