2013-02-12 4 views
-2

Я только что дал опцию validate (errorElement, ...), и я установил правила, не вызывая метод проверки или связав его с каким-либо событием, но jQuery проверяет автоматически, как управлять, когда он проверяет?Почему проверка jQuery Validate делает валидацию без вызова validate()?

+1

Просьба привести пример кода – Curt

+0

И как вы установили свой jQuery и проверку? Не видя свой код, на этот вопрос нельзя ответить в какой-либо разумной форме. –

+0

$ ('form'). Validate ({errorelement: 'span'}); $ ('input'). Rules ('add', {min: 0}); –

ответ

7

Вам нужно будет предоставить гораздо больше подробностей о том, что вы пытаетесь сделать, но я могу ответить на ваш вопрос, как вы его написали.

Название: почему JQuery Validate без вызова проверки?

.validate() is called once to initialize the plugin on the form. Это не метод запуска проверки по требованию. После инициализации форма будет автоматически проверяться в соответствии с различными обратными вызовами событий, встроенными в плагин. Подробнее следовать ...

OP: я просто дать возможность в Validate (errorElement, ...), и я установить правила, без вызова метода проверки, или связать его с любым событие, но jquery проверяет автоматически, как управлять, когда он проверяет?

Вам не нужно связывать плагин с любыми событиями, потому что плагин уже делает это автоматически. Было бы бесполезно, если бы это не так.

When you call .validate(), you are initializing the plugin on the form. Итак, да, это означает, что форма теперь готова, и она автоматически проведет проверку валидации на всех распространенных событиях, таких как submit, onkeyup, onfocusout и кнопку, & checkbox click. Почему ты этого не хочешь?

Чтобы выполнить тест проверки в программе, вы можете вызвать the built-in .valid() method, который очень похож на submit события в том, что она будет срабатывать тест проверки на всей форме и форма будет отображать любые ошибки. .valid() также вернет логическое значение true или false, указав, проходит ли форма проверки валидации.

Если вам нужно инициировать проверку достоверности только на одном элементе, а не на всей форме, вы должны использовать $('#myelement').valid(). Опять же, отображается любое сообщение и возвращается логическое значение.

Если по какой-либо причине вам необходимо полностью «отключить» и «включить» проверку, вы не можете напрямую это сделать, так как нет встроенного метода для не связывания плагина с формой. Однако вы можете имитировать его, используя the built-in rules('remove') and rules('add') methods. Без каких-либо правил в любых полях он просто будет вести себя так, как будто никакой проверки не существует. Тем не менее, вы все равно сможете использовать другие параметры плагина, такие как submitHandler callback, на всякий случай, если вы используете ajax для отправки данных.

+0

спасибо, поэтому я не рекомендую книгу без названия «pro jquery», она учит этому не так. –

+0

@YounesCh, пожалуйста.Возможно, вы можете отредактировать свой OP, чтобы больше объяснить, что эта книга пыталась вас научить. – Sparky

+0

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

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