我正在尝试在angularJS中创建简单的自定义指令
验证用户是否输入整数。
如果用户输入整数,则错误消息应出现在
指出“不允许使用集成人”。
知道我该如何实现...?
(小提琴太棒了)
并且...
这可以不用$ scope。$ watch来做吗?
这是检查客户端输入的专业有效方法吗?
验证? (这种方法是否会损害应用程序的性能)?
最佳答案
您可以使用ng-pattern
验证其是否为有效数字。另一种方法是根据您的要求,创建一个自定义指令。我要使用notNumber
名称,也可以稍加更改即可使用isNumber
。
angular.module('app')
.directive('notNumber', notNumber);
function notNumber() {
return {
require: 'ngModel',
link: function(scope, elem, attr, ctrl) {
ctrl.$formatters.unshift(function(value) {
if (value) {
ctrl.$setValidity('notNumber', Number.isNaN(value));
}
return value;
});
}
};
}
在HTML中,
<input type="text" ng-model="model" not-number />