Valid vs Validate

Я пытаюсь изучить jQuery и наткнулся на странную проблему (возможно, странную только для меня). Так вот: У меня есть форма с id mainform в моем приложении. Теперь я хотел проверить форму с помощью jQuery. Также я хотел установить недопустимые поля в синем цвете. Для этого я добавил css

.error{
  background-color:blue;
}

Когда я запускаю $('form#mainform').valid(); в консоли, я получаю подсветку, и все работает нормально. Однако, когда я запускаю $('form#mainform').validate();, я получаю много данных, и ничего не происходит.

Также, если я запускаю .valid() до validate(), различные параметры, такие как размещение ошибок и т.д., похоже, не работают.

Я хочу знать разницу между ними, почему они ведут себя по-разному и где их следует использовать. Я буду признателен, если кто-нибудь сможет указать мне в правильном направлении.

Примечание. Я использую jquery.validate.js

Ответ 1

Существует несколько различий между действительными и проверенными. Интересно, что, хотя в документах указано, что

"подтверждение нужно вызвать в форме, прежде чем проверять его с помощью этого Метод"

на самом деле это не так, поскольку действительные вызовы validate() в любом случае.

Два основных отличия:

  • Если вы хотите передать параметры в плагин, вы должны позвонить validate ({...})
  • validate() не выделяет никаких ошибок, тогда как valid() делает. Вы можете сказать, что valid выполняет "нетерпеливую" проверку, тогда как validate устанавливает "ленивую" проверку, в основном, если вы вызываете validate(), вы не увидите никаких мгновенных изменений на странице, тогда как с valid() вы можете.
  • valid можно вызывать на подмножестве элементов формы, тогда как валидацию нужно вызывать в самой форме:

    $('form'). validate ({/* options здесь */});

    $(". МышимоиПоль). Правомочно()