Плагин проверки jQueries всегда показывает на входе - PullRequest
1 голос
/ 24 января 2012

Я застрял с плагином проверки jQueries

Мой ввод всегда выдает ошибку.Код вы можете найти здесь: http://jsfiddle.net/OrangeTux/6zUMd/1/

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

$.validator.addMethod("regexp", function(value, element, param) {
     return this.optional(element) || !param.test(value);
});

После этого я создаю новый метод:

jQuery.validator.addMethod('postalCode', function(value, element) {});

Затем я создаю новый класс и добавляю правила

//add validation rules for each custom method
jQuery.validator.addClassRules({
   postalCode: {
      'postalCode' : true,

       //regexp: /[^[0-9]{10}$]/, //<---- This regex doesn't work
       //email: true              // <----- This rule doens't work either
   }
})

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 24 января 2012

У вас есть несколько вещей немного назад.Прежде всего, правило regex не совсем верно.Вы хотите вернуть true из метода при прохождении правила, поэтому вы должны вернуть:

return this.optional(element) || param.test(value);

Помимо этого, предпочтительным способом добавления пользовательского правила, подобного этому, является использование addMethod,а затем addClassRules, чтобы добавить правило класса, включающее этот метод:

jQuery.validator.addMethod("postalCode", function (value, element, params) {
    return this.optional(element) || /^[0-9]{10}$/.test(value);
}, "Please enter a valid Postal Code");

//add validation rules for each custom method
jQuery.validator.addClassRules({
    postalCode: {
        postalCode: true
   }
});

$("#form").validate({
    debug: true,

    //set place were error is shown
    errorPlacement: function(error, element) {
        error.appendTo(element.parent("td").next("td"));
    },
});

Пример: http://jsfiddle.net/LCA9C/

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