验证控件
Validation 服务器控件
对于web 程序员,如何对用户输入的数据进行验证一直是件繁琐的事情。ASP.NET提供了Validation服务器控件,用于验证用户输入,如果用户输入没有通过验证,将向用户显示一条错误消息。
常见的验证控件和其功能如下:
- RequiredFieldValidator控件:防止用户输入空值
- CompareValidator控件:与给定值进行比较
- RangeValidator控件: 检查控件的值是否在给定的有效范围内
- CustomValidator控件: 按照用户自己定制校验逻辑函数进行验证
- RegularExpressValidator控件:使用正则表达式验证用户输入的数据是否符合预定义的格式
- ValidationSummary控件:汇总页面上上所有验证控件的错误信息。
创建 Validation 服务器控件的语法一般如下:
其中ControlToValidate指定需要绑定验证的控件id,ErrorMessage预置验证失败时提示信息。对应不同的验证控件,使用中需要其他属性来指定验证条件,如下面的例子:
<asp:CompareValidator id="txtPwdValidator"
ControlToValidate="txtPwd1"
ControlToCompare="txtPwd2"
Type="String"
Operator="Equal"
ErrorMessage="<b>两次输入的密码不一致,请检查!"
Display="Dynamic"
runat="server" />
上面的比较验证控件,验证txtPwd1 和 txtPwd2 中两次的密码输入是否一致;
<asp:RangeValidator id="txtAgeValidator"
ControlToValidate="txtAge"
MinimumValue="0"
MaximumValue="150"
Type="Integer"
ErrorMessage="年龄输入错误,请检查!"
Display="Dynamic"
runat="server" />
上面的有效范围验证控件对输入的年龄进行检查,如果年龄不在1~150范围之类,就提示错误。
<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
runat="server" ControlToValidate="TextBox6" ErrorMessage="EMail地址格式错误"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</asp:RegularExpressionValidator>
正则表达式验证控件,例子中通过正则表达式来验证输入的是否为正确的EMail 格式。
<asp:CustomValidator ID="CustomValidator1" runat="server"
ErrorMessage="CustomValidator" onservervalidate="CustomValidator1_ServerValidate" >
</asp:CustomValidator>
定制验证控件,例子中的验证将通过服务器端的方法 _CustomValidator1ServerValidate来进行,用户可以自己定制自己的验证策略。
ValidationSummary控件一般作为提示控件使用,它可以汇总页面上上所有验证控件的错误信息,然后在页面上进行输出提示。
WebForm3.aspx、WebForm3.aspx.cs是一个比较完整的用户注册验证的实例,查看代码运行程序,学习验证控件的使用。