问题:
前端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')" />