проверка JQuery для более чем минимального значения - PullRequest
16 голосов
/ 10 июня 2011

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

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

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

Заранее спасибо!

Ответы [ 2 ]

44 голосов
/ 10 июня 2011

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

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

Тогда используйте:

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

Примечание: Создатели плагина валидатора рекомендуют добавить 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 должно быть очень маленьким , чтобы это работало).

0 голосов
/ 11 сентября 2017

мин: 13.01, это:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...