我一直在寻找一些方法或AngularJS指令来支持HTML输入表单中的十进制数字。
我的输入字段应该最多有两位小数。目前我离开输入字段时有这些要求:
如果我输入文本字符串(不是数字),则该字段必须无效。
我找不到解决问题的方法。我希望你能帮助我。
答案 0 :(得分:0)
答案 1 :(得分:0)
我的解决方案是使用FCSA number directive来控制HTML输入字段中的输入。
<input type='text' ng-model='myNumber' fcsa-number="{ min: 0, max: 100, maxDecimals: 2 }" />
答案 2 :(得分:-2)
检查一下 How to restrict input number to non-decimal
这应该让你了解它
问候
修改强>
如果您不点击链接: 这应该是你的想法
您可以为此制作自定义指令,并合并ngModelController. 像这样:Proof of Concept
module.directive("noDecimalInput", function() {
return {
restrict: "A",
require:"ngModel",
link: function(scope,element,attr,ctrl) {
ctrl.$parsers.push(function(value){
if(value.indexOf(".")>-1) {
ctrl.$setValidity("notDecimal",false);
return undefined;
}
ctrl.$setValidity("notDecimal",true);
return value;
});
}
}
});