AngularJS中的Oracle NUMBER(8,2)验证

时间:2018-06-27 08:30:00

标签: javascript angularjs angular-formly

我有这个Oracle的数字格式NUMBER(8,2),我必须使用验证器以正式的形式进行验证。这意味着我可以接受不带小数点的12位数字长数字(123456)或不带小数点的8位数字长数字(123456.78)。

到目前为止,最好的方法是什么,但我没有按照我的意愿验证6位和8位数字

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
                    },
                    validators: {
                        cost: function(viewValue, modelValue, scope) {
                            var value = modelValue || viewValue;
                            return validateInt2Dec(value);
                        }
                    }
                }
            ]
        }
    ];

0 个答案:

没有答案