016. asp.net的验证控件
RequiredFileldValidator: 检查某个字段是否输入; 空值检查
主要属性:
ControlToValidate:要验证的控件
ErrorMessage:错误提示信息
CompareValidator: 将某个字段的内容与指定的对象进行比较;
主要属性如下:
BackColor |
CompareValidator 控件的背景颜色。 |
ControlToCompare |
要与所验证的输入控件进行比较的输入控件。 |
ControlToValidate |
要验证的输入控件的 ID。 |
Display |
验证控件中错误信息的显示行为。合法值是: None 验证消息从不内联显示。Static 在页面布局中分配用于显示验证消息的空间。Dynamic 如果验证失败,将把 用于显示验证消息的控件动态添加到页面。 |
EnableClientScript |
布尔值,规定是否启用客户端验证。 |
Enabled |
布尔值,规定是否启用验证控件。 |
ErrorMessage |
当验证失败时在 ValidationSummary 控件中显示的文本。注释:如果未设置 Text 属性,此文本将显示在验证控件中。 |
ForeColor |
控件的前景颜色。 |
id |
控件的唯一 ID。 |
IsValid |
布尔值,指示由 ControlToValidate 指定的输入控件是否通过验证。 |
Operator |
要执行的比较操作的类型。运算符是:Equal GreaterThan GreaterThanEqual LessThan LessThanEqual NotEqual DataTypeCheck |
runat |
规定控件是服务器控件。必须设置为 "server"。 |
Text |
当验证失败时显示的消息。 |
Type |
规定要对比的值的数据类型。类型有:Currency Date Double Integer String |
ValueToCompare |
一个常数值,该值要与由用户输入到所验证的输入控件中的值进行比较。 |
Operator="Equal" Type="String"<br /> 1,用户注册时,<br /> 密 码:<asp:TextBox ID="txtUserpass" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtUserpass" ErrorMessage="请输入密码"></asp:RequiredFieldValidator> <br /> 重复密码:<asp:TextBox ID="txtUserpass2" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtUserpass2" Display="Dynamic" ErrorMessage="请输入重复密码"></asp:RequiredFieldValidator> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtUserpass" ControlToValidate="txtUserpass2" ErrorMessage="重复密码有误" Operator="Equal" ></asp:CompareValidator> Operator="GeaterThan" Type="Currency"<br /> 2,请输入您应付金额:<asp:TextBox ID="txtMoney" runat="server"></asp:TextBox> <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="txtMoney" ErrorMessage="您输入的金额有误" Operator="GreaterThan" Type="Currency" ValueToCompare="0"></asp:CompareValidator> <br /> <input id="Reset1" type="reset" value="重置" /> <asp:Button ID="Button1" runat="server" Text="提交" /> <br />
RangeValidator: 检查某个字段的内容是否处于指定的范围内;
ControlToValidate:要验证的控件
ErrorMessage:错误提示信息
MaximumValue:最大值
MinimumValue:最小值
Type:Integer 整型 ;Date 日期 ;Double 双精度浮点型 ;String 字符串型(默认类型) ;Currency 货币类型
<td style="font-size: 9pt; width: 87px"> <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtMath" ErrorMessage="分数在0~100之间" MaximumValue="100" MinimumValue="0" Type="Double" Width="97px"></asp:RangeValidator></td> 大小写的验证: 请输入大写词汇:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="TextBox1" ErrorMessage="请输入大写词汇" MaximumValue="Z" MinimumValue="M"></asp:RangeValidator> <br /> 请输入小写词汇:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <asp:RangeValidator ID="RangeValidator3" runat="server" ControlToValidate="TextBox2" ErrorMessage="请输入小些词汇" MaximumValue="z" MinimumValue="a"></asp:RangeValidator> <br />
RegularExpressionValidaor: 检查输入的内容是否符合指定个格式; 电话号码/IP地址等的格式校验;
BackColor |
RangeValidator 控件的背景颜色 |
ControlToValidate |
要验证的控件的 id |
Display |
验证控件的显示行为。 合法的值有:None - 验证消息从不内联显示。Static - 在页面布局中分配用于显示验证消息的空间。 Dynamic - 如果验证失败,将把用于显示验证消息的控件动态添加到页面。 |
EnableClientScript |
布尔值,规定是否启用客户端验证。 |
Enabled |
布尔值,规定是否启用验证控件。 |
ErrorMessage |
当验证失败时,在 ValidationSummary 控件中显示的文本。注释:如果未设置 Text 属性,文本也会显示在该验证控件中。 |
ForeColor |
该控件的前景色。 |
id |
控件的唯一 id。 |
IsValid |
布尔值,指示关联的输入控件是否通过验证。 |
runat |
规定该控件是一个服务器控件。必须设置为 "server"。 |
Text |
当验证失败时显示的消息。 |
ValidationExpression |
规定验证输入控件的正则表达式。在客户端和服务器上,表达式的语法是不同的。 |
<td style="font-size: 9pt; width: 87px"> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtEmail" ErrorMessage="格式不正确" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator></td>
CustomValidaor: 自定义验证条件;
BackColor |
CustomValidator 控件的背景颜色。 |
ClientValidationFunction |
规定用于验证的自定义客户端脚本函数的名称。 |
ControlToValidate |
要验证的输入控件的 id。 |
Display |
验证控件中错误信息的显示行为。合法的值有:None - 验证消息从不内联显示。Static - 在页面布局中分配用于显示验证消息的空间。 Dynamic - 如果验证失败,将把用于显示验证消息的控件动态添加到页面。 |
EnableClientScript |
布尔值,该值指示是否启用客户端验证。 |
Enabled |
布尔值,该值指示是否启用验证控件。 |
ErrorMessage |
验证失败时 ValidationSummary 控件中显示的错误信息的文本。 注释:如果设置了 ErrorMessage 属性但没有设置 Text 属性,则验证控件中也将显示 ErrorMessage 属性的值。 |
ForeColor |
控件的前景色。 |
id |
控件的唯一 id。 |
IsValid |
布尔值,该值指示关联的输入控件是否通过验证。 |
OnServerValidate |
规定被执行的服务器端验证脚本函数的名称。 |
runat |
规定该控件是服务器控件。必须设置为 "server"。 |
Text |
当验证失败时显示的文本。 |
下面这个示例来源于互联网, 原贴地址(http://www.cnblogs.com/lhl98/archive/2012/10/31/2748549.html)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%> <!DOCTYPE html PUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>CustomValidator验证控件用法的例子</title> <script type="text/javascript"> //obj表示被验证的控件 //args表示事件数据,args有两个属性 //IsValid指示控件是否通过验证 //Value表示被验证的控件的值 function CheckEven(obj, args) { var numberPattern = /\d+/; //由于控件的ValidateEmptyText设置为true //所以当控件没有值时进行客户端验证 if (!numberPattern.test(args.Value)) { args.IsValid = false; //表示未通过验证,出现错误提示 } else if (args.Value % 2 == 0) { args.IsValid = true; //表示通过验证,不出现错误提示 } else { args.IsValid = false; //表示未通过验证,出现错误提示 } } function CheckMultiple3(obj, args) { //由于控件的ValidateEmptyText没有设置,使用了默认值false //所以当控件没有值时不进行客户端验证 var numberPattern = /\d+/; if ((!numberPattern.test(args.Value)) || (args.Value % 3 != 0)) { args.IsValid = false; } else { args.IsValid = true; } } </script> </head> <body> <form id="form1" runat="server"> <div> <table border="1" width="600"> <tr><td colspan="2" align="center">CustomValidator验证控件用法的例子</td></tr> <tr><td> 填一个3的倍数</td><td> <asp:TextBox ID="txtOdd" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="txtOdd" ErrorMessage="请输入3的倍数" ClientValidationFunction="CheckMultiple3" Display="Dynamic" OnServerValidate="CustomValidator2_ServerValidate" ValidateEmptyText="True"></asp:CustomValidator> </td></tr> <tr> <td>填一个偶数</td> <td> <asp:TextBox ID="txtEven" runat="server"></asp:TextBox> <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtEven" ErrorMessage="请输入偶数" ClientValidationFunction="CheckEven" ValidateEmptyText="True" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator> </td> </tr> <tr><td> <asp:Button ID="Button2" runat="server" Text="提交"/> </td> <td> <input id="Reset3" type="reset" value="重置"/></td> </tr> </table> </div> </form> </body> </html>
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } //用于验证控件值是否为3的倍数 protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args) { System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d+"); //先用正则判断用户输入的是否能转换成数字 if (!regex.IsMatch(args.Value)) { args.IsValid = false;//表示验证不通过 } else { //如果对3取模为0就是3的倍数 args.IsValid = (int.Parse(args.Value) % 3 == 0); } } //用于验证控件值是否为偶数 protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d+"); //先用正则判断用户输入的是否能转换成数字 if (!regex.IsMatch(args.Value)) { args.IsValid = false; } else { //如果对2取模为0就是偶数 args.IsValid = (int.Parse(args.Value) % 2 == 0); } } }
ValidationSummary: 错误汇总控件, 该控件不提供具体的验证功能, 只负责显示所有的验证报错信息;
DisplayMode |
如何显示摘要。合法值有:BulletList List SingleParagraph |
EnableClientScript |
布尔值,规定是否启用客户端验证。 |
Enabled |
布尔值,规定是否启用验证控件。 |
ForeColor |
该控件的前景色。 |
HeaderText |
ValidationSummary 控件中的标题文本。 |
id |
控件的唯一 id。 |
runat |
规定该控件是一个服务器控件。必须设置为 "server"。 |
ShowMessageBox |
布尔值,指示是否在消息框中显示验证摘要。为True时, 网页上错误信息不在网页本身显示, 而是弹出一个模态对话框的形式显示; 如果不想将错误信息显示在网页上, 完全以对话框的形式显示, 则必须将ShowSummary属性设置为False; 否则, 弹出对话框的同时也会在页面中显示; |
ShowSummary |
布尔值,规定是否显示验证摘要。 |
<td style="font-size: 9pt; width: 109px; height: 27px"> <asp:ValidationSummary ID="ValidationSummary1" runat="server" Width="150px" Height="35px" /> </td>