Расширение Jquery validate для отображения / скрытия div или очистки div после запуска validate
Чтобы уточнить, как можно запускать пользовательскую функцию непосредственно перед тем, как плагин проверки jquery запустит свою функцию проверки (что просматривает все поля и показывает сообщение об ошибке)?
Сейчас все мои ошибки выводятся в div. Я хотел бы поймать событие validate и очистить div прямо перед тем, как запускаются мои старые ошибки. Затем id хотел бы показать / скрыть этот div, основываясь на том, есть ли в нем какие-либо метки, которые были автоматически сгенерированы плагином проверки jquery. Я могу сделать все, но выяснить, как расширить событие, запустить то, что мне нужно, а затем вызвать функцию проверки. Спасибо!
2 ответа
Есть 2 свойства, чтобы сделать это напрямую errorContainer
а также errorLabelContainer
Например, вы хотели список ошибок в вашем <div>
и <div>
чтобы скрыть / показать на основе, если таковые имеются, вы должны сделать это:
$("#myform").validate({
errorContainer: "#myDivID",
errorLabelContainer: "#myDivID ul",
wrapper: "li",
//other options/rules...
});
На странице параметров есть более подробная информация об этом, но это все, что вам нужно для простого исправления, при условии, что список - это то, что у вас есть, из вопроса, в котором я не был полностью уверен. Если вы хотите сказать div внутри вашего div, нет пота... просто измени "#myDivID ul"
в "#myDivID"
а также "li"
в "div"
... или любой другой элемент, который вы хотите.
Выше будет скрывать <div id="myDivID">
если ошибок нет, покажите, если они есть. Это работает, даже если у вас есть описание / справка или что-то в верхней части div, и ошибки являются лишь частью div, определяемой errorLabelContainer
селектор... он все равно будет скрывать / показывать на основе любых ошибок и оставлять ваше сообщение / помощь без изменений.
Существует ряд обработчиков событий, к которым вы можете подключиться. success
& invalidHandler
кажется наиболее подходящим для ваших требований, но errorPlacement
также может быть полезным.
См. http://docs.jquery.com/Plugins/Validation/validate для получения дополнительной информации.