【发布时间】:2018-06-26 15:31:51
【问题描述】:
我创建了一个验证器,用于检查 digit 是否为数字,并确保小数点后允许有 2 位数字。这不包括一个没有小数位的 6 位数字 (123456) 或 2 个小数位的 8 位数字 (123456.78)。这就是我想出来的
function validateInt2Dec(value, min, max) {
if (Math.sign(value) === -1) {
var negativeValue = true;
value = -value
}
if (!value) {
return true;
}
var format = /^\d+\.?\d{0,2}$/.test(value);
if (format) {
if (value < min || value > max) {
format = false;
}
}
return format;
}
及其形式的实现
vm.fields = [
{
className: 'row',
fieldGroup: [
{
className: 'col-xs-6',
key: 'payment',
type: 'input',
templateOptions: {
label: 'Payment',
required: false,
maxlength: 8
},
validators: {
cost: function(viewValue, modelValue, scope) {
var value = modelValue || viewValue;
return validateInt2Dec(value);
}
}
}
]
}
];
我必须添加什么来覆盖上述场景?
【问题讨论】:
-
测试前添加缺少的“.00”(无小数点)、“00”(小数点后)或“0”(小数点后一位)会不会出错?
标签: javascript angularjs validation angular-formly