Метод плагина jQuery Validation выдает ошибку при вызове пустой коллекции - PullRequest
1 голос
/ 06 мая 2011

Валидационный метод jQuery метод Valid() выдает ошибку this[0] is undefined при вызове пустой коллекции.Я думал, что соглашение jQuery не должно делать что-либо в пустой коллекции, конечно, не выдает никакой ошибки, или, может быть, я что-то упускаю.Может ли кто-нибудь пролить свет на это, пожалуйста?

Демо

Фрагмент кода из плагина.this [0] - показано ниже - выдает ошибку, поскольку коллекция пуста.

// http://docs.jquery.com/Plugins/Validation/valid
valid: function() {
    if ( $(this[0]).is('form')) {
        return this.validate().form();
    } else {
        var valid = true;
        var validator = $(this[0].form).validate(); // This is the line that throws error
        this.each(function() {
            valid &= validator.element(this);
        });
        return valid;
    }

1 Ответ

1 голос
/ 06 мая 2011

я просто добавляю класс для входных данных, которые я хочу проверить, тогда моя форма имеет идентификатор и я вызываю validate к нему

  $("#myform").validate()

вот один пример того, как я использую проверку формы

я также рекомендую посмотреть демо

вообще говоря о стандартном jquery, если вы примените, скажем, событие click к несуществующему элементу, вы не получите ошибок, jquery пропускает его. при этом может быть, что validate должен делать то же самое, но, очевидно, нет, поэтому я бы предложил сделать это так, как я написал, или проверить длину селектора перед применением validate

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