2013-10-25 2 views
3

Невозможно проверить два скрытых поля (скажите, выберите предложение и выберите любую поездку) с помощью jQuery Validate plugin. У меня есть две скрытые поля в моей форме. Я использую опцию ignore для проверки этих двух полей. Среди двух полей проверяется только второе поле, которое позже. Как проверить оба поля в одном представлении?Не удалось проверить два скрытых поля jQuery

$('.form').validate({ 
    ignore: ':hidden:not("#off_val")', //ignore for first field 
    ignore: ':hidden:not("#trip_ty")',////ignore for second field 
    rules: form_rules, 
    messages: form_messages, 
    errorClass: 'validate', 
    errorPlacement: function (err, element) { 
     err.insertBefore(element); 
    }, 
    submitHandler: function (form) { 
     form.submit(); 
    } 
}); 
+0

подобно любой плагин JQuery , вы не можете объявить одну и ту же опцию несколько раз. Хорошо использовать несколько селекторов в рамках одной и той же опции «игнорировать». – Sparky

ответ

10

ignore - это единственное свойство, которое использует только один селектор. Объединить ваши not селекторы вместе:

$('.form').validate({ 
    ignore: ':hidden:not("#off_val, #trip_ty")', //ignore fields 
    rules: form_rules, 
    messages: form_messages, 
    errorClass: 'validate', 
    errorPlacement: function (err, element) { 
     err.insertBefore(element); 
    }, 
    submitHandler: function (form) { 
     form.submit(); 
    } 
}); 
+1

Вы, где моя заставка после много потраченного впустую времени ... – yossico

3

Попробуйте это:

$('.form').validate({ 
    ignore: ':hidden:not("#off_val"),:hidden:not("#trip_ty")', 
    rules: form_rules, 
    messages: form_messages, 
    errorClass: 'validate', 
    errorPlacement: function (err, element) { 
     err.insertBefore(element); 
    }, 
    submitHandler: function (form) { 
     form.submit(); 
    } 
}); 
3

Попробуйте это:

ignore: ':hidden:not("#off_val"),:hidden:not("#trip_ty")', 

Сделайте свой код так:

$('.form').validate({ 
     ignore: ':hidden:not("#off_val"),:hidden:not("#trip_ty")', //ignore fields 
     rules: form_rules, 
     messages: form_messages, 
     errorClass: 'validate', 
     errorPlacement: function (err, element) { 
      err.insertBefore(element); 
     }, 
     submitHandler: function (form) { 
      form.submit(); 
     } 
    }); 
+0

Печально, что это не работает (jQuery 3.0.0) – ViRuSTriNiTy

Смежные вопросы