JQuery проверить плагин на DIV - PullRequest
31 голосов
/ 08 февраля 2011

Я пытаюсь использовать плагин проверки в div, как показано в ответе на этот вопрос :

<script type="text/javascript">
  $("#pseudoForm").validate({
    onfocusout:true,
    rules:{
      first_name:"required",
      last_name:"required"
    }
  });
</script>
<!-- whatever -->
<div id="pseudoForm">
  <input type="text" name="first_name"/>
  <input type="text" name="last_name"/>
</div>

У меня есть все в форме,

Я получаю кучу разных ошибок в разных браузерах.

  • Firefox : валидатор не определен
  • IE8 : 'settings' является нулем или не является объектом
  • Chrome : невозможно прочитать свойства 'settings' из неопределенного

Любая помощь приветствуется!

Ответы [ 4 ]

54 голосов
/ 08 февраля 2011

Это не тот ответ, который вы хотите услышать, но другой ответ неверен (возможно, он был прав , когда он был опубликован , но с тех пор произошли некоторые значительные изменения плагина проверки jQuery),

Плагин проверки (в настоящее время) предназначен для работы на <form> и только на <form>.Вы также можете заметить, что вся документация плагина ссылается на форму, а не на любой другой универсальный контейнер.

Сам плагин отслеживает validator.currentForm внутри, что относится к thisпереданного в селектор, получая .elements и т. д. от этого ... это действительно не сработает иначе, как написано в текущей версии.

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

0 голосов
/ 31 марта 2017

Откройте jquery.validate.js или jquery.validate.min.js и найдите (ctrl + F) " label " и replaceAll с нужным тегом:

Пример: div

, затем выполните проверку.

0 голосов
/ 24 апреля 2011

Вы можете получить ту же ошибку, если выберете форму по классу

$(".form_class").validate(...

вместо идентификатора $("#form_id").validate(...

или имени тега $("form").validate(...

0 голосов
/ 08 февраля 2011

Вам не хватает закрывающей скобки. Попробуйте вместо этого:

$("#pseudoForm").validate({
    onfocusout:true,
    rules:{
        first_name:"required",
        last_name:"required"
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...