0

我正在将 jquery 验证器插件(http://docs.jquery.com/Plugins/Validation)与 asp.net 应用程序一起使用。
这是我的元素:

<input id="chbConfirmDetails" type="checkbox" runat="server" class="required" />
<br />
<label for="<%=chbConfirmDetails.ClientID %>" class="alert">Please select this checkbox.</label>

问题是带有错误的标签在启动时可见而不是隐藏。我可以添加一个类来隐藏标签,但验证器插件不应该解决这个问题吗?

为什么错误没有隐藏?

更新: 我明确添加标签,因为我希望将错误消息放置在特定位置,而不是在输入之后。

4

2 回答 2

1

您不需要为验证消息添加任何显式标记:插件会在发生错误时负责生成它。因此,仅输入字段就应该是您所需要的:

<input id="chbConfirmDetails" type="checkbox" runat="server" class="required" />

当您配置验证时,您可以控制插件如何生成错误标记 - 要添加“警报”类,您需要确保它在您的调用中设置.validate(),例如:

$("form").validate({
   errorClass: "alert"
})
于 2012-05-17T11:36:23.620 回答
0

您可以删除此行:

<label for="<%=chbConfirmDetails.ClientID %>" class="alert">Please select this checkbox.</label>

验证器插件本身在验证返回 false 时附加错误标签,并指定了某些类。

您需要 dd 自定义 errorPlacement 回调来放置错误消息,例如

errorPlacement: function(error, element) {
            if (element.type == 'checkbox') {
                error.insertAfter(element); //something like this, just an example
            }
            else {
                error.insertAfter(element);
            }
        }
于 2012-05-17T11:36:53.823 回答