[原创].net的Validator控件在客户端弹出窗口提示的方法
.net的验证服务器控件,用起来很方便,例如:一个<asp:textbox id="User_Name" runat="server"></asp:textbox>在后面加上</asp:textbox><asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="[登陆名]不能为空" ControlToValidate="User_Login_ID"></asp:RequiredFieldValidator>就可以使User_Name不能为空。
但是却在textbox控件的后面出现"[登陆名]不能为空",要留出16个字节的地方,如果页面排不下,怎么办?能不能像asp一样用javascript弹出"[登陆名]不能为空"?
开始找资料...到CSDN上参考了一下[.net版主hgknight (江雨.net) ]http://expert.csdn.net/Expert/topic/940/940895.xml?temp=.6753504的贴子,又在SDK上找到了"用于验证程序示例的脚本库"....总结出现下面两种方法:
方法一:
页面中加了3个验证控件
1、<asp:textbox id="User_Login_ID" runat="server"></asp:textbox><asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="[登陆名]不能为空" ControlToValidate="User_Login_ID">#</asp:RequiredFieldValidator>
2、<asp:textbox id="User_Email" runat="server"></asp:textbox><asp:RequiredFieldValidator id="Email_RequiredFieldValidator" ControlToValidate="User_Email" runat="server" ErrorMessage="[电子邮件]不能为空!">#</asp:RequiredFieldValidator>
3、<asp:textbox id="User_Password" runat="server"></asp:textbox></asp:textbox><asp:RequiredFieldValidator id="Password_RequiredFieldValidator" runat="server" ErrorMessage="[密码]不能为空" ControlToValidate="User_Password">#</asp:RequiredFieldValidator>
在Page_Load里加上了Button1.Attributes["onclick"]="javascript:if(!Page_ClientValidate()) {var err=\"保存时出现如下错误信息!\"+\"\\n\";for (i = 0; i < Page_Validators.length; i++) {if(!Page_Validators[i].isvalid){err+=Page_Validators[i].getAttribute(\"errormessage\")+\"\\n\");}alert(err);return false;}}";
如果全不通过,就会弹出
保存时出现如下错误信息
[登陆名]不能为空
[电子邮件]不能为空!
[密码]不能为空
方法二:
在页面中放一个validationsummary控件<asp:validationsummary id="valSum" runat="server" CssClass="td" HeaderText="试图保存信息时,出现如下错误。" ShowSummary="False" ShowMessageBox="True"></asp:validationsummary>
其他的什么都不用加,单击一下button1试试...
结束语:
我只是提供一个思考方法,大家可以灵活的运用