[英]angular validate input type=“number” validation issue
用户输入字符时, input type number validation
出现问题。
当用户跳出时,它就消失了。
经过一番研究,我找到了几种解决方案,最好的解决方案是链接
此处给出的解决方案是使用以下指令
app.directive('toNumber', function () {
return {
require: 'ngModel',
link: function (scope, elem, attrs, ctrl) {
ctrl.$parsers.push(function (value) {
return parseFloat(value || '');
});
}
};
});
如果用户尝试输入数字以外的第一个字符,则此解决方案效果很好。 但是当用户输入lets say 1W
时它不起作用。 它允许输入此模式。
可能我需要将此指令修改为大写的1W, 1.W, 1WWW (any character after valid number)
模式,以阻止其进入。
有什么帮助吗?
也,
如果有什么更好的解决方案,请与我分享。 我的问题是:在IE上,当用户在输入类型数字中输入字符并跳出时,数字只是消失了,我无法使用angular $ error显示错误。
试试这个指令
userapp.directive('priceValidator', [function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, modelCtrl) {
modelCtrl.$parsers.push(function(inputValue) {
if (inputValue == undefined) return ''
var transformedInput = inputValue.replace(/[^0-9]/g, '');
if (transformedInput != inputValue) {
modelCtrl.$setViewValue(transformedInput);
modelCtrl.$render();
}
return transformedInput;
});
}
};
}])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.