Paw*_*wan 6 javascript angularjs
我试图< input type = number >通过使用angularjs模块ng的输入[number]指令进行验证.
使用类型编号的输入时,将max(或min)属性设置为数字,例如
<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}}">
Run Code Online (Sandbox Code Playgroud)
这是一个展示演示的plunker.(这只是对文档演示的修改).
目前,这些属性的来源如下所示.所以,你可以看到一个值,然后被转换为浮点数parseFloat.因此,需要将model属性插值{{}}为值.
SRC/NG /指令/ 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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16667 次 |
| 最近记录: |