WebForm服务器验证控件与前端js自定义验证共同使用

    问题:

            前端aspx页面中需要在button中添加OnClientClick事件后,这个OnClientClick所执行的自定义的客户端js验证;这个时候,所有的服务器验证控件都会失效!

   解决方案:

//后台微软服务器控件验证(与前台一起验证)
        function CheckClientValidate(group) {
            Page_ClientValidate(group);
            if (Page_IsValid) {
                if (group == "gp1") {
                    if (gp1Valid()) {
                        return true;
                    }
                }
                else if (group == "gp2") {
                    if (gp2Valid()) {
                        return true;
                    }
                } else if (group == "gp3") {
                    if (gp3Valid()) {
                        return true;
                    }
                }
                return false;
            } else {
                return false;
            }
        }

 其中group就是每个验证控件的分组(ValidationGroup)名称。其中gp1Valid、gp2Valid、gp3Valid这三个方法是自定义的js客户端验证,最终返回true/false,并做了一些提醒

    那么保存按钮如下  <asp:Button ID="btnSave" class="btn" ValidationGroup="gp1" runat="server" Text="保存" OnClick="ibtnSave_Click" OnClientClick=" return CheckClientValidate('gp1')" />

 

  

原文地址:https://www.cnblogs.com/ZQWelcomeIndex/p/5155737.html