为什么我的指令搞砸了我的验证?

时间:2014-09-24 19:41:51

标签: javascript angularjs

我从this SO问题中删除了这个指令。

var directive = function() {
    return {
        require: 'ngModel',
        restrict: 'A',
        link: function(scope, element, attr, ctrl) {
            function inputValue(val) {
                if (val) {
                    var digits = val.replace(/[^0-9]/g, '');

                    if (digits !== val) {
                        ctrl.$setViewValue(digits);
                        ctrl.$render();
                    }
                    return parseInt(digits, 10);
                }
                return undefined;
            }
            ctrl.$parsers.push(inputValue);
        }
    };
};

module.exports = directive;

我希望将input限制为仅接受数字,但现在我的其他验证工具(例如minmax)无效。我的input现在总是处于错误状态。该指令的哪一部分影响angular中的验证生命周期?

0 个答案:

没有答案