我正在尝试< input type = number >
通过使用angularjs模块ng的输入[number]指令进行验证。
使用数字类型的输入时,最大(或最小)属性设置为数字,例如
<input type=number min="20" max="40">
它工作正常,但我的最小和最大数据是使用ng-repeat这样的动态数据,例如
<input type=number min="configRow.valueStart" max="configRow.valueEnd">
,则它不起作用。
我知道min和max仅接受数字,因此我在编写指令方面不是很好,请帮助我任何此类目录或任何建议,将不胜感激。
min
并max
期待一个价值。因此,这应该工作:
<input type=number min="{{configRow.valueStart}}" max="{{configRow.valueEnd}}">
这是一个演示演示的插件。(这只是对文档演示的修改)。
目前,这些属性的来源如下所示。因此,您可以看到期望值,然后使用将其强制转换为浮点数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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句