我是这样做的:
我有一个必须验证多个控件的表单 - 但我想要一个错误区域 - 一条消息用于所有 - 一行。
默认如果你使用errorLabelContainer,它会将验证作为“附加组件”——即多个验证会在错误标签中创建许多行。
我注意到一件事 - 如果它的 labelcontainer 高度小于 30px,它会第二次创建一个新的空行。我不知道为什么。
在我的例子中,它是一个标签——当然,它也可以是一个 div。在我的 HTML 中有这个(假设你有 jQuery validation.js 和 base):
Myform 是表单的名称 - 然后是不同的 HTML 控件 - 任何类型 - 例如:
INPUT id=theNameofcontrol type=checkbox name=theNameofcontrol validate=required:true
然后是错误信息的容器(不知道如何让它看起来像 HTML :)
label id=errorlabel name=errorlabel style=font-size:1.3em;height:30;color:red; /label
在表单的 onclick 函数中,我将空消息作为错误消息放入,如果表单无效则输入消息,如果无效则返回 false(所以我不发布它。)
当然,您可以只填写每条自定义消息 - 但我希望无论有多少错误都只有一行。
$("#MyForm").validate(<br>
{<br>
errorLabelContainer:"#errorlabel",<br>
messages : <br>
{theNameofcontrol: {required: "" },<br>
theNameofcontrol2: {required: "" },<br>
theNameofcontrol3: {required: "" }<br>
} <br>
);<br>
<br>
if(! $("#MyForm").valid())<br>
{<br>
$("#errorlabel").html("My message when not all contols are valid!");<br>
return false;<br>
}
希望这对您有所帮助。如果您有一个用于组中所有“对象”的容器,您应该能够对字段集执行相同的操作。
验证您使用的一个控件:
$("#MyForm").validate({errorLabelContainer:"#errorlabel",messages :{theNameofcontrol: {required: "This has to have a value" }}}).element("#theNameofcontrol");
祝你好运