输入类型 = AngularJS 中的数字验证

2024-06-19

我正在尝试验证< input type = number >通过使用输入[数字] AngularJS 模块 ng 的指令。

当使用数字类型的输入时,最大(或最小)属性设置为数字,例如

<input type=number min="20" max="40">

它工作正常,但我的最小和最大数据是使用 ng-repeat 动态获取的数据,例如

<input type=number min="configRow.valueStart" max="configRow.valueEnd">, 那么它就不起作用了。

我知道 min 和 max 只接受数字,而我不太擅长为此编写指令,请帮助我任何此类目录或任何建议,将不胜感激。


min and max正在期待一个值。所以,这应该有效:

<input type=number min="{{configRow.valueStart}}" max="{{configRow.valueEnd}}">

这里有一个plunker http://plnkr.co/edit/lPJhj6?p=preview显示演示。 (这只是文档演示的修改)。

目前,这些属性的来源如下所示。因此,您可以看到需要一个值,然后将其转换为浮点数parseFloat。因此对模型属性进行插值{{}}需要一个值。

src/ng/directive/input.js

if (attr.min) {
        var minValidator = function(value) {
          var min = parseFloat(attr.min);
          return validate(ctrl, 'min', ctrl.$isEmpty(value) || value >= min, value);
        };

        ctrl.$parsers.push(minValidator);
        ctrl.$formatters.push(minValidator);
      }

      if (attr.max) {
        var maxValidator = function(value) {
          var max = parseFloat(attr.max);
          return validate(ctrl, 'max', ctrl.$isEmpty(value) || value <= max, value);
        };

        ctrl.$parsers.push(maxValidator);
        ctrl.$formatters.push(maxValidator);
      }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入类型 = AngularJS 中的数字验证 的相关文章

随机推荐