我正在使用JQuery进行所有客户端验证,并使用Asp.net验证器控件进行所有服务器端验证。我正在使用errorlabelcontainer将客户端验证存储在页面顶部的摘要中,这是要求。一切顺利。我的问题是,我想在同一个errorlabelcontainer中显示服务器端的asp.net错误,或者在验证摘要中显示所有客户端错误。无论哪种方式,两个错误都需要在同一个地方/ div。关于如何做到这一点的任何想法?我想过可能使用asp.net验证摘要作为JQuery中的错误容器,但我找不到摘要。这就是我现在所拥有的。
$("#aspnetForm").validate(
{
onkeyup: false,
errorLabelContainer: $("ul", $("#FormErrors")),
wrapper: "li"
});
如果您需要查看更多代码,或者我要澄清一些内容,请告诉我们。
答案 0 :(得分:1)
我使用xVal将服务器端的错误与客户端的错误结合起来。通常,我所做的是发出一个AJAX调用(它可以是.ajax call in jQuery,或者你可以使用jQuery form plugin)返回JSON中的错误信息,然后我在验证器上调用jQuery验证填充错误字段。
这是您通常必须采取的方法。否则,当您呈现jQuery验证模块随后用于填充相应标签的页面时,您将被迫在代码中嵌入Javascript文字。在页面中使用该代码有点混乱,返回JSON的AJAX调用有助于解决关注点分离问题。
我已经写过如何在这里使用xVal进行jQuery验证,这很有帮助:
How to use the jQuery Validation plugin with metadata, jQuery Forms and xVal together?
答案 1 :(得分:0)
即使用户已禁用其java脚本,服务器端验证也需要工作。 ajax方法在那种情况下不起作用。