我使用jquery validation plugin进行表单验证。使用min
属性工作正常,但我希望它验证严格大于最小值的值。
rules: {
price: {
required: true,
min: 13,
number: true
}
}
在我的代码中,我有min: 13
,但我不想允许13,只有大于13的值,例如13.10,13.20,14。我该怎么做?
提前致谢!
答案 0 :(得分:44)
使用$.validator.addMethod
创建您自己的自定义方法:
$.validator.addMethod('minStrict', function (value, el, param) {
return value > param;
});
然后使用:
price: {
required: true,
minStrict: 13,
number: true
}
注意:验证器插件recommend的创建者将Number.MIN_VALUE
添加到您提供的值中:
min: 13 + Number.MIN_VALUE
Number.MIN_VALUE
是JS可以处理的最小正(非零)浮点数,因此逻辑是下面的两个语句是等价的:
a > b;
a >= b + Number.MIN_VALUE;
但是,由于浮点数存储在内存中的方式,这不起作用。在大多数情况下,舍入将导致b + Number.MIN_VALUE
等于b
(b
必须非常小才能实现此目的)。
答案 1 :(得分:-2)
min:13.01,这:
rules:{
price:{
required: true,
min: 13.01,
number: true
}
}