jquery验证超过最小值

Gow*_*wri 17 jquery jquery-validate

我正在使用jquery验证插件进行表单验证.使用该min属性工作正常,但我希望它验证严格大于该最小值的值.

rules: {
    price: {
        required: true,
        min: 13,
        number: true
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我有min: 13,但我不想允许13,只有大于13的值,例如13.10,13.20,14.我怎么能这样做?

提前致谢 !

Dav*_*ang 45

创建自己的自定义方法$.validator.addMethod:

$.validator.addMethod('minStrict', function (value, el, param) {
    return value > param;
});
Run Code Online (Sandbox Code Playgroud)

然后使用:

price: {
    required: true,
    minStrict: 13,
    number: true
}
Run Code Online (Sandbox Code Playgroud)

注意:验证器插件的创建者建议添加Number.MIN_VALUE您提供的值:

min: 13 + Number.MIN_VALUE
Run Code Online (Sandbox Code Playgroud)

Number.MIN_VALUE 是JS可以处理的最小正(非零)浮点数,因此逻辑是下面的两个语句是等价的:

a > b;
a >= b + Number.MIN_VALUE;
Run Code Online (Sandbox Code Playgroud)

但是,由于浮点数存储在内存中的方式,这不起作用.在大多数情况下,舍入将导致b + Number.MIN_VALUE相等b(b必须非常小才能使其工作).