【发布时间】:2014-11-04 10:58:37
【问题描述】:
使用自定义指令,添加验证函数来验证整数输入
var INTEGER_REGEXP = /^\-?\d+$/;
app.directive('integer', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
ctrl.$validators.integer = function(modelValue, viewValue) {
if (ctrl.$isEmpty(modelValue)) {
// consider empty models to be valid
return true;
}
if (INTEGER_REGEXP.test(viewValue)) {
// it is valid
return true;
}
// it is invalid
return false;
};
}
};
});
$validators 对象中的每个函数都接收 modelValue 和 viewValue。
modelValue 和 viewValue 有什么区别?
【问题讨论】:
-
@RahilWazir - 该链接对
$validators签名帮助不大。我知道 angular 是一个庞大的库,但函数签名应该是必需的文档。尤其是考虑到 javascript 的动态特性。
标签: angularjs angularjs-directive