Jquery: проверка формы

#regex #jquery-validate #validation

#регулярное выражение #jquery-проверка #проверка

Вопрос:

я использую плагин проверки jquery и пытаюсь определить правило для единственного поля формы: значение поля должно содержать строку из пяти чисел (значение поля всегда будет содержать буквы). Я попробовал с обязательным правилом (зависимость-обратный вызов) и получил что-то вроде этого:

 rules: {
    field: {
      required: function(element) {
        var value_field = $('#field').attr('value');
      }
    }
  }
  

Теперь мне нужно выполнить поиск в value_field для строки из пяти чисел.
Использую ли я хорошее правило для этого случая? И как искать нужную строку?

Спасибо

Ответ №1:

Вам необходимо добавить пользовательский метод в средство проверки, прежде чем настраивать средство проверки в соответствии со своими правилами:

 $.validator.addMethod("FiveDigits", function(value, element) {
    return this.optional(element) || /^d{5}$/.test(value);
}, "A 5 digit number please");
  

затем используйте следующее правило :

fieldName : { required : true, FiveDigits: true }

Ответ №2:

 // define variables
var field_value, regexp;
// set field_value to #field's value
field_value = $("field").val();
// the regular expression that matches the pattern we're looking for
regexp = /d{5}/;
if (field_value.match(regexp)) {
  // do something
} else {
  // do something else
}
  

Комментарии:

1. Спасибо, ваш код кажется хорошим, но я не могу найти, как применить его с помощью jquery validate. Я добавил новый метод в ваш код, но он не работает.