如何将输入数限制为非小数

时间:2014-11-20 14:43:02

标签: html5 angularjs forms validation numbers

我在页面上有一个数字输入,我希望它仅限于整数值,没有小数。我正在使用表单和angularjs进行验证。我不能做什么来制作小数?我尝试将步骤设置为1,但这没有改变。许多其他问题讨论了让浏览器支持小数 - 我似乎遇到了相反的问题。

1 个答案:

答案 0 :(得分:2)

您可以为此制作自定义指令,并合并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;
            });
        }
    }
});