我在asp.net应用程序中使用jquery验证器插件(http://docs.jquery.com/Plugins/Validation) 这是我的元素:
<input id="chbConfirmDetails" type="checkbox" runat="server" class="required" />
<br />
<label for="<%=chbConfirmDetails.ClientID %>" class="alert">Please select this checkbox.</label>
问题是带有错误的标签在启动时是可见的而不是隐藏的。 我可以添加一个类来隐藏标签,但验证器插件不应该处理它吗?
为什么不隐藏错误?
更新 我明确添加标签,因为我希望将错误消息放在特定位置,而不是在输入之后。
答案 0 :(得分:1)
您不需要为验证消息添加任何显式标记:插件在发生错误时负责生成它。所以输入字段应该就是你所需要的:
<input id="chbConfirmDetails" type="checkbox" runat="server" class="required" />
配置验证时,您可以控制插件如何生成错误标记 - 要添加“警报”类,您需要确保在调用.validate()
时设置,例如:
$("form").validate({
errorClass: "alert"
})
答案 1 :(得分:0)
您可以删除此行:
<label for="<%=chbConfirmDetails.ClientID %>" class="alert">Please select this checkbox.</label>
验证器插件本身会在验证时附加错误标签,并在指定某个类时返回false。
您需要使用自定义errorPlacement回调来放置错误消息,例如
errorPlacement: function(error, element) {
if (element.type == 'checkbox') {
error.insertAfter(element); //something like this, just an example
}
else {
error.insertAfter(element);
}
}