Подтвердить что ты не робот

Проверка jquery для более, чем минимального значения

Я использую плагин проверки jquery для проверки формы. Использование свойства min работает нормально, но я хочу, чтобы он проверял значения, строго превышающие это минимальное значение.

rules: {
    price: {
        required: true,
        min: 13,
        number: true
    }
}

В моем коде у меня есть min: 13, но я не хочу разрешать 13, только значения больше 13, например. 13.10, 13.20, 14. Как я могу это сделать?

Спасибо заранее!

4b9b3361

Ответ 1

Создайте свой собственный метод с помощью $.validator.addMethod:

$.validator.addMethod('minStrict', function (value, el, param) {
    return value > param;
});

Затем используйте:

price: {
    required: true,
    minStrict: 13,
    number: true
}

Примечание: Создатели плагина validator рекомендуют добавлять Number.MIN_VALUE к указанному вами значению:

min: 13 + Number.MIN_VALUE

Number.MIN_VALUE - это наименьший положительный (ненулевой) float, который может обрабатывать JS, поэтому логика заключается в том, что следующие два утверждения эквивалентны:

a > b;
a >= b + Number.MIN_VALUE;

Но, это не работает, из-за того, что числа с плавающей запятой хранятся в памяти. Округление приведет к тому, что b + Number.MIN_VALUE будет равным b в большинстве случаев (b должен быть очень мал, чтобы это работало).

Ответ 2

мин: 13.01, это:

rules:{ price:{ required: true, min: 13.01, number: true } }