验证:
一、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.验证出错显示*,用对话框显示错误信息。
源代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShuRuYanZheng.aspx.cs" Inherits="ShuRuYanZheng" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
.auto-style1 {
height: 30px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>登录信息输入的验证</h1><br />
<br />
红色显示的:RequiredFieldValidator,“空”或“未改变原有值”得判断<br />
蓝色显示的:CompareValidator
<br />
与其他数据相比较,ControlToCompare与其他控件的之比较;<br />
ValueToCompare与确切的值比较<br />
黄色显示的:RangeValidator 与某一规定范围内的比较<br />
绿色现实的:RegularExpressionValidator 与正则表达式比较<br />
<br />
<br />
<table width="70%" border="1" cellpadding="5" cellspacing="0" align="center">
<tr height="30">
<td width="20%" align="right">用户名:</td>
<td width="45%">
<asp:TextBox ID="Textname" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Textname" Display="Dynamic" ErrorMessage="用户名不能为空!" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">用户名2::</td>
<td width="45%">
<asp:TextBox ID="Textname2" runat="server" Width="100%"><必填></asp:TextBox>
</td>
<td width="35%">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="Textname2" Display="Dynamic" ErrorMessage="不能不填!" InitialValue="<必填>" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">密码:</td>
<td width="45%">
<asp:TextBox ID="Textpwd1" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="Textpwd1" Display="Dynamic" ErrorMessage="密码不能为空!" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">确认密码:</td>
<td width="45%">
<asp:TextBox ID="Textpwd2" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="Textpwd1" ControlToValidate="Textpwd2" Display="Dynamic" ErrorMessage="确认密码输入不正确!" ForeColor="Blue"></asp:CompareValidator>
</td>
</tr>
<tr>
<td width="20%" align="right" class="auto-style1">邮箱:</td>
<td width="45%" class="auto-style1">
<asp:TextBox ID="Textemail" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%" class="auto-style1">
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Textemail" Display="Dynamic" ErrorMessage="输入邮箱不正确!" ForeColor="Green" ValidationExpression="\w+([-+.‘]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">电话号码:</td>
<td width="45%">
<asp:TextBox ID="Texttel" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="Texttel" Display="Dynamic" ErrorMessage="输入电话号码不正确" ForeColor="Green" ValidationExpression="^[1][358]\d{9}$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">身份证号:</td>
<td width="45%">
<asp:TextBox ID="Textshen" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="Textshen" Display="Dynamic" ErrorMessage="身份证号码不正确!" ForeColor="Green" ValidationExpression="\d{17}[\d|X]|\d{15}"></asp:RegularExpressionValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">月收入:</td>
<td width="45%">
<asp:TextBox ID="Textmoney" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="Textmoney" Display="Dynamic" ErrorMessage="输入不正确!正整数大于0" ForeColor="Blue" Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">生日:</td>
<td width="45%">
<asp:TextBox ID="Textbir" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="Textbir" Display="Dynamic" ErrorMessage="输入时间不在规定范围内!" ForeColor="Yellow" MaximumValue="2099-12-31" MinimumValue="1800-1-1" Type="Date"></asp:RangeValidator>
</td>
</tr>
<tr height="30">
<td colspan="3" align="center">
<asp:Button ID="tijiao" runat="server" Text="提交" />
<br />
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
自定义的验证:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="自定义验证.aspx.cs" Inherits="自定义验证" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script language="javascript">
function Sushuyanzheng(a,b)
{
var n =parseInt( b.Value);
var c = 0;
for (var i = 1; i < n; i++)
{
if (n % i == 0)
c++;
}
if (c == 1)
{ b.IsValid = true; }
else { b.IsValid = false; }
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="Sushuyanzheng" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="不是素数!"></asp:CustomValidator>
</div>
</form>
</body>
</html>