asp.net服务器验证控件失效的问题

asp.net服务器验证控件失效的问题


问题是这样的:对一些TextBox输入框做数据验证时,最初用到的是服务器数据验证控件。这样是没有问题的。后来对其他的一些TextBox也要做一些数据验证,这时没有使用服务器验证控件,而是对按钮加了一个OnClientClick脚本验证函数judgeInput()。< asp:Button ID="btnSave" SkinID="ButtonStyle" runat="server" Text="保存" OnClick="btnSave_Click" OnClientClick="return judgeInput();" />。

此时,问题暴露出来了,judgeInput()中的数据验证功能正常,而之前采用服务器数据验证控件的,全部失效了。看来是对服务器数据验证控件的内部机制不了解。

问题解决之道:在judgeInput()函数的开头加上if(Page_ClientValidate()){ ...//数据验证代码}。问题解决。

归纳:对服务器数据验证控件的数据验证,它是在客户端执行的,验证通过后Page_ClientValidate()返回true,否则为false.没有OnClientClick时,它默认会去执行,但有了客户端函数OnClientClick,如果不显示书写Page_ClientValidate(),那么默认不执行服务器数据验证控件的数据验证。

你可能感兴趣的:(asp.net服务器验证控件失效的问题)