Это не тот ответ, который вы хотите услышать, но другой ответ неверен (возможно, он был прав , когда он был опубликован , но с тех пор произошли некоторые значительные изменения плагина проверки jQuery),
Плагин проверки (в настоящее время) предназначен для работы на <form>
и только на <form>
.Вы также можете заметить, что вся документация плагина ссылается на форму, а не на любой другой универсальный контейнер.
Сам плагин отслеживает validator.currentForm
внутри, что относится к this
переданного в селектор, получая .elements
и т. д. от этого ... это действительно не сработает иначе, как написано в текущей версии.
Общее решение / альтернативный подход здесь: вызов .validate()
непосредственно для элемента <form>
(скорее, для jQuery-оболочки), а не для любого другого контейнера.Если вам нужно разделить ваши <form>
, используйте <fieldset>
элементов, возможно, используя опцию ignore: ':hidden'
в .validate()
, если вы не хотите проверять поля ввода, которые не видны пользователю.