Как я могу проверить на точную длину с помощью Проверки jQuery?

Вы могли посмотреть Инструменты GNU , они обеспечивают (среди других вещей) sed на окнах.

25
задан Nathan Long 22 October 2009 в 16:03
поделиться

1 ответ

Поскольку (в настоящее время) нет встроенного метода для этого, вам нужно добавить свой собственный метод. Это могло бы сработать:

jQuery.validator.addMethod("exactlength", function(value, element, param) {
 return this.optional(element) || value.length == param;
}, $.validator.format("Please enter exactly {0} characters."));

Которую затем можно было бы использовать следующим образом:

$("#formtovalidate").validate({
  rules: {
    somefield: {
      exactlength: 10
    }
   });

Обновление - как это работает

Меня спросили, как это работает. Я не знаю всех подробностей; Я смоделировал этот метод на основе ранее существовавших. Однако это моя лучшая попытка объяснить это.

  • Функция принимает значение , элемент и параметр .
    • значение - это значение, введенное в проверяемое поле
    • элемент - это само поле
    • param - это все, что идет после типа правила и двоеточия. В приведенном выше примере это 10 в точная длина: 10
  • Следующая строка - это оператор return . Это вернет окончательный вердикт метода проверки к коду, который его вызвал. Любой метод проверки, возвращающий true , говорит: «это поле прошло проверку!» Он вернет значение строки, в которой находится.
  • За return следуют два объявления, разделенных оператором «или» ( || ).
    • Оператор || означает «оценить элемент слева от этого. Если это правда, верните истину. Если нет, попробуйте тот, что справа. Если это правда, верните истину. В противном случае верните false.
      • Элемент слева - this.optional (element) . Если элемент не требуется в ваших правилах, это вернет истину, как и проверка. Это означает: «Если я не скажу вам, что это поле является обязательным, меня не волнует, проверяется ли оно».
      • Если поле требуется, мы перемещаемся в правую часть || ]. Это собственно валидационный тест. Он сравнивает длину ввода поля с указанной вами длиной. Если они совпадают, возвращается истина, метод возвращает истину и проверка проходит. В противном случае проверка не удалась.

Вот и все. Для получения дополнительной помощи см. Документацию , особенно часть о пользовательских методах проверки .

51
ответ дан 28 November 2019 в 18:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: