在运行验证后,扩展Jquery验证以显示/隐藏div或清除div

时间:2010-04-25 06:57:08

标签: jquery jquery-validate

为了澄清,如何在jquery的验证插件运行其验证功能之前运行自定义函数(这是查看所有字段并显示错误消息的内容)?

现在我将所有错误输出到div。我喜欢抓住验证事件并在运行旧错误之前清除div。然后id喜欢显示/隐藏该div,如果它有任何由jquery验证插件自动生成的标签。我可以做任何事情但是弄清楚如何扩展事件,运行我需要的东西,然后调用validate函数。谢谢!

2 个答案:

答案 0 :(得分:1)

有两个属性可以直接errorContainererrorLabelContainer执行此操作,例如,您需要隐藏<div><div>中的错误列表/根据是否存在显示,你会这样做:

$("#myform").validate({
   errorContainer: "#myDivID",
   errorLabelContainer: "#myDivID ul",
   wrapper: "li",
   //other options/rules...
});

The options page has more detail around this,但这是一个简单修复所需的一切,假设列表是你所拥有的,我不完全确定的问题。如果你想在你的div中说div,那就没有汗......只需将"#myDivID ul"改为"#myDivID""li"改为"div" ......或者你想要的任何元素。

如果没有错误,上面会隐藏<div id="myDivID">,如果有错误则显示它。即使你在div的顶部有一个描述/帮助消息或者某些东西,并且错误只是div的一部分,由errorLabelContainer选择器确定...它仍将隐藏/显示如有任何错误,请保持信息/帮助不受影响。

答案 1 :(得分:0)

您可以附加许多事件处理程序。 success&amp; invalidHandler似乎最适合您的要求,但errorPlacement也可能有用。

有关详细信息,请参阅http://docs.jquery.com/Plugins/Validation/validate#toptions