标签:
验证:
一、RequiredFieldValidator:非空验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
InitialValue:控件的初始值,如果验证出来的值与初始值相同,则也是判断为空
两种非空的形式:
1.什么内容都没有
ErrorMessage,ControlToValidate,Display
2.初始值没变
ErrorMessage,ControlToValidate,Display,InitialValue
二、CompareValidator:对比验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ControlToCompare:要对比的控件的ID
ValueToCompare:要对比的某个固定的值
Operator:运算符
Type:输入和比较的类型
两种对比的形式:
1.两个控件的值进行对比。——密码与确认密码
2.控件的值与某个固定对比。——月收入要大于0
两种对比的形式:
1.等值对比。——是否相等 。Operator=Equeal(默认)
2.不等值对比。——是否满足某个关系。Operator=GreaterThan,LessThan.....
三、RangeValidator,范围验证:
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
MaximumValue:范围上限值
MinimumValue:范围的下限值
Type:输入和验证的类型
案例:生日只能在1900-1-1 至2099-12-31之间
四、RegularExpressionValidator_正则表达式验证。
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ValidationExpression:验理证的正则表达式。
五、CustomValidator:自定义验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ClientValidationFunction :用来进行自定义验证的客户端的JS函数名(注意不要加括号)
客户端验证函数的定义
function 函数名(a,b)
{
//b.Value - 被验证控件中的值。
//b.IsValid - 告诉浏览器,验证是否通过了。true-通过了,不显示错误信息。false-没有通过,显示错误信息。
}
例子:验证素数。
六、ValidationSummary:验证汇总控件
ShowMessageBox:是否用对话框显示错误 信息
ShowSummary:是否在页面上显示错误汇总信息
几个重要的难点及解决:
1.验证分组:把输入控件、验证控件、按钮控件的ValidationGroup设成同一个值,则他们就是在一组中。
2.阻止按钮激发验证:
法一:给按钮单独分组
法二:把按钮的CauseValidation属性设为False
3.验证出错显示*,用对话框显示错误信息。
事例:
建一个表格,如图
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 8 <title></title> 9 <script language="javascript"> 10 function SuShuYanZheng(a,b) { 11 //b.Value - 被验证控件中的值。 12 //b.IsValid - 告诉浏览器,验证是否通过了。true-通过了,不显示错误信息。false-没有通过,显示错误信息。 13 14 var n = parseInt(b.Value); 15 var c = 0; 16 for (var i = 1; i <= n; i++) { 17 if (n % i == 0) { 18 c++; 19 } 20 } 21 if (c == 2) { 22 b.IsValid = true; 23 } 24 else { 25 b.IsValid = false; 26 } 27 } 28 </script> 29 </head> 30 <body> 31 <form id="form1" runat="server"> 32 <div> 33 <h1 style=" text-align:center">用户注册</h1> 34 <table border="0" align="center" cellpadding="5" cellspacing="1" width="600"> 35 <tr> 36 <td align="right" width="20%">用户名:</td> 37 <td width="40%"> 38 <asp:TextBox ID="txtUID" runat="server" Width="100%">(必填)</asp:TextBox> 39 </td> 40 <td width="40%"> 41 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtUID" ErrorMessage="用户名不能为空" Display="Dynamic" ForeColor="Red">*</asp:RequiredFieldValidator> 42 <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtUID" Display="Dynamic" ErrorMessage="用户名不能为空!" ForeColor="Red" InitialValue="(必填)">*</asp:RequiredFieldValidator> 43 <asp:Button ID="Button2" runat="server" CausesValidation="False" Text="唯一检查" /> 44 </td> 45 </tr> 46 <tr> 47 <td align="right">密码:</td> 48 <td> 49 <asp:TextBox ID="txtPWD1" runat="server" Width="100%"></asp:TextBox> 50 </td> 51 <td> 52 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtPWD1" ErrorMessage="密码不能为空" Display="Dynamic" ForeColor="Red">*</asp:RequiredFieldValidator> 53 </td> 54 </tr> 55 <tr> 56 <td align="right">确认密码:</td> 57 <td> 58 <asp:TextBox ID="txtPWD2" runat="server" Width="100%"></asp:TextBox> 59 </td> 60 <td> 61 <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtPWD2" ErrorMessage="确认密码不能为空" Display="Dynamic" ForeColor="Red">*</asp:RequiredFieldValidator> 62 <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtPWD1" ControlToValidate="txtPWD2" Display="Dynamic" ErrorMessage="两次输入的密码不一样" ForeColor="Red">*</asp:CompareValidator> 63 </td> 64 </tr> 65 <tr> 66 <td align="right">邮箱:</td> 67 <td> 68 <asp:TextBox ID="txtEmail" runat="server" Width="100%"></asp:TextBox> 69 </td> 70 <td> 71 <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtEmail" ErrorMessage="邮箱不能为空" Display="Dynamic" ForeColor="Red">*</asp:RequiredFieldValidator> 72 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="邮箱格式不正确" ForeColor="Red" ValidationExpression="\w+([-+.‘]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator> 73 </td> 74 </tr> 75 <tr> 76 <td align="right">电话:</td> 77 <td> 78 <asp:TextBox ID="txtTel" runat="server" Width="100%"></asp:TextBox> 79 </td> 80 <td> 81 <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtTel" Display="Dynamic" ErrorMessage="电话号码不正确" ForeColor="Red" ValidationExpression="(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}">*</asp:RegularExpressionValidator> 82 </td> 83 </tr> 84 <tr> 85 <td align="right">身份证号:</td> 86 <td> 87 <asp:TextBox ID="txtCad" runat="server" Width="100%"></asp:TextBox> 88 </td> 89 <td> 90 <asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="txtCad" Display="Dynamic" ErrorMessage="身份证号不正确" ForeColor="Red" ValidationExpression="\d{17}[\d|X]|\d{15}">*</asp:RegularExpressionValidator> 91 </td> 92 </tr> 93 <tr> 94 <td align="right">月收入:</td> 95 <td> 96 <asp:TextBox ID="txtIncome" runat="server" Width="100%"></asp:TextBox> 97 </td> 98 <td> 99 <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="txtIncome" Display="Dynamic" ErrorMessage="月收入应当大于0" ForeColor="Red" Operator="GreaterThan" Type="Integer" ValueToCompare="0">*</asp:CompareValidator> 100 </td> 101 </tr> 102 <tr> 103 <td align="right">生日:</td> 104 <td> 105 <asp:TextBox ID="txtBirthday" runat="server" Width="100%"></asp:TextBox> 106 </td> 107 <td> 108 <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtBirthday" Display="Dynamic" ErrorMessage="只能1900-1-1至2099-12-31之间" ForeColor="Red" MaximumValue="2099-12-31" MinimumValue="1900-1-1" Type="Date">*</asp:RangeValidator> 109 </td> 110 </tr> 111 <tr> 112 <td align="right">性别:</td> 113 <td> 114 <asp:TextBox ID="txtSex" runat="server" Width="100%"></asp:TextBox> 115 </td> 116 <td> 117 <asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server" ControlToValidate="txtSex" Display="Dynamic" ErrorMessage="性别不正确" ForeColor="Red" ValidationExpression="[男女]">*</asp:RegularExpressionValidator> 118 </td> 119 </tr> 120 <tr> 121 <td align="center" colspan="3"> 122 <asp:Button ID="btnSubmit" runat="server" Text="提交" /> 123 <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="查看用户协议" ValidationGroup="bbb" /> 124 <asp:ValidationSummary ID="ValidationSummary1" runat="server" ForeColor="Red" ShowMessageBox="True" ShowSummary="False" /> 125 </td> 126 </tr> 127 </table> 128 129 </div> 130 <p> 131 输入一个素数:<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="aaa"></asp:TextBox> 132 <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="aaa" /> 133 <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="SuShuYanZheng" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="输入的不是素数" ForeColor="Red" ValidationGroup="aaa"></asp:CustomValidator> 134 </p> 135 </form> 136 </body> 137 </html>
1 <script language="javascript"> 2 function SuShuYanZheng(a,b) { 3 //b.Value - 被验证控件中的值。 4 //b.IsValid - 告诉浏览器,验证是否通过了。true-通过了,不显示错误信息。false-没有通过,显示错误信息。 5 6 var n = parseInt(b.Value); 7 var c = 0; 8 for (var i = 1; i <= n; i++) { 9 if (n % i == 0) { 10 c++; 11 } 12 } 13 if (c == 2) { 14 b.IsValid = true; 15 } 16 else { 17 b.IsValid = false; 18 } 19 } 20 </script>
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 public partial class _Default : System.Web.UI.Page 9 { 10 protected void Page_Load(object sender, EventArgs e) 11 { 12 13 } 14 protected void Button3_Click(object sender, EventArgs e) 15 { 16 Response.Redirect(""); 17 } 18 }
标签:
原文地址:http://www.cnblogs.com/m123/p/4541698.html