asp.net - Page_ClientValidate 正在验证多次。

标签 asp.net javascript validation

我遇到的问题是,验证摘要消息(警报)显示了两次。我想不通原因。

请帮忙。 这是代码

function validate() //javascript function
{
    if (typeof(Page_ClientValidate) == 'function') 
    {
        var isPageValid = Page_ClientValidate();
        if(isPageValid)
        {
        }
    }
}

<asp:Button ID="btn1" runat="server" OnClientClick="validate()" Text="button"
                    ValidationGroup="ContactGroup" />

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" 
                    ShowMessageBox="true" ShowSummary="false" ValidationGroup="ContactGroup" />

最佳答案

问题是函数 Page_ClientValidate 需要一个输入参数,如果您没有指定输入,那么每个组名都会触发一次验证摘要。

在您的情况下,该函数会触发两次:一次针对 groupname="ContactGroup",另一次针对 groupname=""

你应该改变

var isPageValid = Page_ClientValidate();

var isPageValid = Page_ClientValidate('');

如果您不想指定 ValidationGroup,或者如果您想要指定组名,那么您需要像这样调用 Page_ClientValidate:

var isPageValid = Page_ClientValidate('ContactGroup');

关于asp.net - Page_ClientValidate 正在验证多次。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969465/

相关文章:

c# - 如何更改按钮的 onclientclick 属性服务器端?

asp.net - 合并 IdentityDbContext 和 DbContext ASP.NET MVC

c# - 上传文件时服务器要求输入用户名和密码

javascript - 无法在 AnyTime 日期选择器中选择夏令时

其余 Controller 参数的 Spring 验证不起作用

java - 如何验证struts2 Action 中表单的输入

c# - 使用 ValidationProperty 属性防止 UserControl 的完整回发

javascript - 使用 asp.net 复选框 oncheckchanged 事件隐藏一个 div

JavaScript - 弹出窗口只打开一次

javascript - 想要一个正则表达式来解析带有 ↵ 字符的电子邮件回复