验证控件
C#验证控件的使用RequiredFieldValidatorCompareValidator

C#验证控件的使⽤RequiredFieldValidatorCompareValidator使⽤验证控件可以向服务器提交表单数据时验证表单内容,下⾯以RequiredFieldValidator和CompareValidator为例说明验证控件的⽤法RequiredFieldValidator⽤来检查必填字段CompareValidator控件可以⽤来检查数据类型或者⽐较⼤⼩。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ValidationControl.aspx.cs" Inherits="WebApplication1.ValidationControl" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title></title><style type ="text/css">.red{color:Red ;}</style></head><body><form id="form1" runat="server"><div><fieldset ><legend title ="123">Product Order Form </legend><asp:Label ID ="lblProductName" runat ="server" Text =" Product Name:" AssociatedControlID ="txtProductName"></asp:Label><br /><asp:TextBox ID ="txtProductName" runat ="server"></asp:TextBox><asp:RequiredFieldValidator ID ="reqProductName" ControlToValidate="txtProductName" runat ="server" Text ="(Require)" CssClass ="red " SetFocusOnError ="true"></asp:RequiredFieldValidator><br /><asp:Label ID ="lblPrice" runat ="server" Text ="Price:" AssociatedControlID ="txtPrice"></asp:Label><asp:TextBox ID ="txtPrice" runat ="server"></asp:TextBox><asp:RequiredFieldValidator ID ="reqPrice" runat ="server" ControlToValidate="txtPrice" Text ="(Require)" CssClass ="red " SetFocusOnError ="true"></asp:RequiredFieldValidator><asp:CompareValidator ID ="comPrice" runat ="server" ControlToValidate ="txtPrice" Operator ="DataTypeCheck" Text ="Invalid Value" Type ="Currency" CssClass ="red " SetFocusOnError ="true"></asp:CompareValidator <br /><asp:Label ID ="lblQty" runat ="server" Text ="Qty:" AssociatedControlID ="txtQty"></asp:Label><asp:TextBox ID ="txtQty" runat ="server"></asp:TextBox><asp:CompareValidator ID ="comQty" runat ="server" ControlToValidate="txtQty" Text ="Invalid Value" CssClass ="red " Display ="Dynamic" Operator ="DataTypeCheck" Type ="Integer" SetFocusOnError ="true"></asp:CompareValida <br /><asp:Button ID ="txtSummit" runat ="server" Text ="提交" onclick="txtSummit_Click"/></fieldset><asp:Label ID ="lblResult" runat ="server"></asp:Label></div></form></body></html>View Codepublic partial class ValidationControl : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void txtSummit_Click(object sender, EventArgs e){if (Page.IsValid){lblResult.Text = "Product Name:" + txtProductName.Text + "<br/>" +"Price:" + txtPrice.Text + "<br/>" +"Qty:" + txtQty.Text;}}}View Code例⼦说明:1.验证控件ControlToValidate属性⽤于指定需要验证的控件;2.验证控件的Text属性⽤于验证错误时显⽰错误信息,⼀般Text属性只是简单的⽂字,但是Text属性也⽀持html,⽐如<img src="error.gif" ali=""/>⽤⼀个图⽚代替简单的⽂字;3.如果要验证信息显⽰红⾊,或者别的特殊样式,可以使⽤CssClass指定样式;4.验证控件的 Display属性,Display属性有Dynamic、Static、None三个值,默认Static,Display为Static时⽣成的错误信息如下<span id="reqPrice" class="red " style="visibility: visible;">(Require)</span>Display为Dynamic⽣成的错误信息为<span id="reqPrice" class="red " style="display: none;">(Require)</span>两者的区别是visibility: visible虽然隐藏了,但还是占据窗⼝空间,display: none不占窗⼝空间,我们应该设置Display为Dynamic这样验证信息后⾯的控件就不会被推倒右边None ⽣成的标签如下,错误信息为空,所以不能⽤来显⽰错误提⽰<span id="reqPrice" class="red " style="display: none;"></span>5.验证控件默认在客户端和服务器端都进⾏验证,⼀些低端的浏览器不⽀持JavaScript,所以在服务器端进⾏验证能保证数据的有效性。
ASP .NET动态网页设计案例教程 (5)

(5) 通过使用各个验证控件和页面公开的对象模型,可以与验证控件进行交互。每个 验证控件都会公开自己的 IsValid 属性,可以测试该属性以确定该控件是否通过验证测试。 页面还公开一个 IsValid 属性,该属性总结页面上所有验证控件的 IsValid 状态,并允许执 行单个测试,以确定是否可以继续自行处理。
第5章
使用 ASP .NET 验证控件检验表单
通过本章您将学习:
z 使用 ASP .NET 验证控件验证 Web 窗体页上的输入 z 使用必须验证控件 z 使用总结验证控件 z 使用正则表达式验证控件 z 使用比较验证控件 z 使用范围验证控件 z 使用自定义验证控件
ASP .NET 动态网页设计案例教程(Visual Basic .NET 版)
(a) 初始页面运行效果
(b) 必输信息显示效果
px 的运行效果
解决方案: 该 ASP .NET Web 页面使用如表 5-2 所示的 Task1.aspx 的页面控件完成指定的任务。
表 5-2 Task1.aspx 的页面控件
类型 TextBox RequiredFieldValidator TextBox RequiredFieldValidator TextBox RequiredFieldValidator TextBox RequiredFieldValidator TextBox RequiredFieldValidator ValidationSummary Button Label
任务 1:使用必须验证控件验证用户登记信息
操作任务: 创建网上个人商品销售登记 ASP .NET Web 页面 Task1.aspx,输入个人用户信息,要求 必须输入用户名、密码、电子邮箱、电话号码和邮政编码。
VS中验证控件的作用

VS中验证控件的作用2010-04-14 13:54:20| 分类:默认分类| 标签:|字号大中小订阅1、RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交信息。
RequiredFieldValidator控件中,主要设置三个属性:ErrorMessage属性修改更具体的错误描述信息。
RequiredFieldValidator属性是要设置的要验证的控件ID。
2、CompareValidator:比较验证。
比较两个字段值是否相等,如密码和确认密码两个字段是否相等;比较一个字段与一个具体的值。
ErrorMessage属性修改更具体的错误描述信息。
RequiredFieldValidator属性是要设置的要验证的控件ID。
ControlToCompare属性是你要进行比较的控件ID。
(参照的控件)。
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtPass"ControlToValidate="TextBox1" ErrorMessage="密码输入不一致,请重新输入" Operator="GreaterThan"Type="Integer"></asp:CompareValidator>3、RangeValidator:范围验证。
验证一个字段是否在某个范围中。
控件代码:<asp:RangeValidator ID="RangeValidator1" runat="server"></asp:RangeValidator>我在后台代码中设置的:// 设置区间的最小值this.RangeValidator1.MaximumValue = "99";// 设置区间的最大值this.RangeValidator1.MinimumValue = "50";// 设置验证错误后的现实消息this.RangeValidator1.ErrorMessage = "输入错误区间";// 设置验证控件的验证对象this.RangeValidator1.ControlToValidate = this.TextBox3.ID;4、RegularExpressionValidator:正则表达式验证。
ASP.NET2.0中数据验证控件的应用

dsl = Sac> 占位 符 i a ”t i py t”
AS Re u aEx r s in l tr d t n u ay i S mm r。数据验证控件都使用 C nrlo adt 屙l o ot T V l a o i e 生关联要被验 </ P: g lr p e so Vai ao > 证的控件;r r sae 性是验证不通过时显示的错误信息; i l : V l ao E pes n的构造如下 : Er Mesg 属 o Ds a ad tn xrsi py i i o 错误信息的显示方式;tt 表示控件的错误信息在页面中占有肯定位 Sa c i 在 V l ai E pes n中, ai t n x rs o d o i 不同的字符表示不同的含义。 在使用过 置 ; y t 表示控件错误信 息出现时才 占用页面控件 ;oe D mac i N n 表示错误 程中, f 屙 生窗口中提供的表达式会更方便快捷 。例如 : 身份证 , 邮政编 出现时不显示,但是可以在 V l a ru may a dt S m r 中显示 ;占位符 :表示 码 ,m i格式等等都可以从 中进行选择。 i o Ea l Dsl 为 Sac , i a p y t i时 错误信息占有“ t 占位符” 那么大的页面空间。 2 so . Cu tmVaiao 控件 5 l tr d 21R q i d i d a dt 的使用 . eur Fe v l a r e l i o 自定义验证控件检查用户输入是否符合开发者指定的验证逻辑规 必须字段验证控件检查用户是否输入, 语法格式如下 : 则, 该控件用 自 定义的函数界定验证方式 , 语法格式如下: <AS : q i d il Vai ao d Vai ao Na e Ru t S r e ” PRe u r F ed l tr i=” l tr e d d m ” na=” e v r
jQuery formValidator表单验证插件

jQuery formValidator表单验证插件是什么?jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。
你可以划分多个校验组,每个组的校验都是互不影响。
对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。
目前支持5种大的校验方式,分别是:inputValidator(针对input、textarea、select控件的字符长度、值范围、选择个数的控制)、compareValidator(提供2个对象的比较,目前可以比较字符串和数值型)、ajaxValidator(通过ajax到服务器上做数据校验)、regexValidator(提供可扩展的正则表达式库)、functionValidator (可使用外部函数来做校验)本插件于其他校验控件最大的区别有3点:1、校验功能可以扩展。
对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的,而formValidator是通过外部js文件来扩展的,你可以通过写正则表达式和函数来无限的扩展这些功能。
2、实现了校验代码于html代码的完全分离。
你的所有信息都无需配置在校验表单元素上,你只要在js上配置你的信息。
使美工(界面)和javascript工程师的工作不交织在一起3、你只需写一行代码就能完成一个表单元素的所有校验。
你只需要写一行代码就能完成一下所有的控制∙支持所有类型客户端控件的校验∙支持jQuery所有的选择器语法,只要控件有唯一ID和type属性∙支持函数和正则表达式的扩展。
提供扩展库formValidatorReg.js,你可以自由的添加、修改里面的内容。
∙支持2种校验模式。
第一种:文字提示(showword模式);第二种:弹出窗口提示(showalert模式)∙支持多个校验组。
实验1ASPNET服务器控件和验证控件

实验1 服务器控件和验证控件
一、实验目的
1、熟练掌握服务器控件的使用。
2、熟练掌握验证控件的使用。
二、实验内容
1、编写一个Web应用程序Login,该程序用于检查用户登录信息。
当用户输入正确的用户名和密码时,显示登录成功的消息。
否则,显示登录不正确的消息。
如图所示:
2、完成如下选择城市的程序,要求单击左向箭头时,把右边ListBox中的所有选中项移到左边的ListBox中;要求单击右向箭头时,把左边ListBox中的所有选项移到右边ListBox中。
3、编写一个注册窗口,含账号、E-mail、电话号码、移动电话号码、密码、确认密码,要求:
1)账号要以英文字母开头,而且最少要输入四个字符;
2)E-mail要求为合法格式;
3)密码与确认密码要相等;
4)电话号码只能为数字,且长度为8位;
5)移动电话格式为13开头的11位数字。
三、实验报告要求
1、源程序清单。
2、程序运行结果。
3、调试过程中遇到的问题和解决的方法。
.NET4.0 验证控件的综合应用

4.0 验证控件的综合应用
在本章中,主要介绍了验证控件的单个应用。
本扩展的目的主要是实现使用多个验证控件,完成个人信息的验证和提交功能。
(1)在Visual Studio2010中,执行【文件】|【新建】|【网站】命令,新建名为ShowContent的空网站。
(2)打开【文件】|【新建文件】命令,弹出【添加新项】对话框。
在该对话框中选择“Web窗体”模板,并输入文件名称为Web.aspx,单击【添加】按钮。
然后可以看到在【解决方案资源管理器】面板中会显示文件Web.aspx以及它的代码页文件Web.aspx.cs。
(3)在【解决方案资源管理器】面板中,双击“Web.aspx”树状菜单元素,打
(4)在【解决方案资源管理器】面板中,双击“Web.aspx.cs”树状菜单元素,
在上述代码中,主要实现的是用户信息的显示功能。
当用户单击“注册”按钮,首先对用户的个人信息进行验证,如果通过验证在Label中显示用户的个人信息;否则,显示错误信息。
(5)在浏览器中打开该文件,如果直拉单击“注册”按钮,验证控件会出现如图7-16的提示。
图7-16 执行结果
(6)当输入用户密码不一致或输入E-mail地址不正确,验证控件会现如图7-17的提示。
(7)当输入正确的用户信息,单击“注册”按钮,结果如图7-18所示。
图7-18 执行结果。
CustomValidator控件

验证控制之CustomValidator控件CustomValidator控件也称为自定义验证控件,通过RequiredFieldValidator控件结合CompareValidator控件、RangeValidator控件或RegularExpressionValidator控件之中的一个或多个就能满足开发中的90%以上的验证要求,但是有一些特殊的验证用上述控件组合无法达到验证要求,比如要求用户填写一个奇数。
为了满足一些特殊的验证要求,在中还有一个CustomValidator控件,在这个控件中可以自己写验证规则。
CustomValidator类是BaseValidator抽象类,所以CustomValidator控件拥有CustomValidator控件用于在客户端验证的函数有两个参数,第一个是表示被验证的控件,第二个表示事件数据。
第二个参数有两个属性:IsValid用于表示被验证控件是否通过验证,Value属性表示被验证的控件的值。
下面就是一个客户端验证函数的例子:<script type="text/javascript">//obj表示被验证的控件//args表示事件数据,args有两个属性//IsValid指示控件是否通过验证//Value表示被验证的控件的值function CheckEven(obj,args){var numberPattern=/\d+/;//由于控件的ValidateEmptyText设置为true//所以当控件没有值时进行客户端验证if(!numberPattern.test(args.Value))//用javascript进行客户端正则验证{args.IsValid=false;//表示未通过验证,出现错误提示}else if(args.Value%2==0){args.IsValid=true;//表示通过验证,不出现错误提示}else{args.IsValid=false;//表示未通过验证,出现错误提示}}</script>除了客户端验证之外,在CustomValidator控件中还能自己写服务器端写验证方法,它有一个OnServerValidate事件,同它的客户端处理函数一样,处理这个事件的委托也需要两个参数,第一个是表示被验证的控件,第二个表示事件数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
if(Page.IsValid)
{
LblMessage.Text ="恭喜,通过验证";
}
else
{
LblMessage.Text ="对不起,请重新输入有问题的地方!";
}
}
任务二
(1)我们发现上面页面验证的时候,如果用户不输入数据反而会通过检验,为上面所有验证控件验证的用户输入TxtBox控件添加一个RequiredField Validator验证控件,用来防止用户没有输入数据而未进行数据的检验。
ID
TxtID
Textbox
ID
TxtPWD
Textbox
ID
TxtPWD2
Textbox
ID
TxtEmail
Textbox
ID
TxtYearIncome
Textbox
ID
TxtYearSave
Textbox
ID
TxtHomePage
Textbox
ID
TxtTel
Textbox
ID
TxtIDCard
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<p>
<asp:Label ID="Label1" runat="server" Text="输入ID:"></asp:Label>
Operator: LessThan
Type:Integer
RegularExpression
Validator
REWeb
TxtHomePage
网址有误
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
RegularExpression
Validator
RE
Phone
用户输入两次密码必须一致
电话号码要满足这样的格式:(010)12345678或者(0756)-1234567,即区号必须为3或4位数字,并用“圆括号”分隔,电话号码为7或者8位,
身份证号为15或18位数字,如果是18位则最后一位可以是X
邮政编码为6位数字
Email要符合电子邮箱的规则
个人网页要符合网址的写法
肇庆学院计算机学院
动态网站开发实验报告
实验名称
验证控件
班级
姓名
学号Leabharlann 实验地点日期成绩一、实验目的:
掌握使用验证控件的方法。
二、实验环境:
Windows系列操作系统的计算机,软件visual studio 2010。
三、实验内容、步骤、实验结果与分析:
见附页
五、实验总结
基本掌握了怎么使用验证控件的方法。
Textbox
ID
TxtZip
Textbox
ID
TxtSimpName
Button
ID
Text
BtnSubmit
注册
表4-1主要控件设置
(5)添加验证控件,验证控件位置在工具栏见,下图4-2
图4-2验证控件
(6)添加的验证控件设置类型及属性参见下表4-2
验证控件类型
ID
被验证的控件
ControlToValidate
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
ValidationExpression="A[B-Z][B-Z][0-9]{3}"></asp:RegularExpressionValidator>
{
intintYearSave;//年存款
intintYearIncome;//年收入
intYearIncome =Convert.ToInt32(TxtYearIncome.Text);//将年收入转换为整型
intYearSave =Convert.ToInt32(args.Value);//将年存款转换为整型
(2)如果我们要限制用户输入的密码至少要有6位字符,应当如何实现。
将输入密码文本框的autopostback属性设置为true,编写TxtPWD的TextChanged事件,
protectedvoidTxtPWD_TextChanged(objectsender,EventArgse)
{
intcount=TxtPWD.Text.Trim().Length;
if (intYearSave > intYearIncome * 0.8)
{
args.IsValid = false;//如果年存款大于年收入的80%则验证不通过
}
else
{
args.IsValid = true;//年存款小于年收入的80%,验证通过返回真
}
}
protected void BtnSubmit_Click(object sender, EventArgs e)
(8)现在我们在设计界面上点击这个用户自定义验证控件,或者选中这个用户自定义验证控件,点击“事件”,见下图4-3:
图4-3
随后再点击“ServerValidate”事件即可,见图4-4。
图4-4
(9)我们添加如下验证代码。
protectedvoidCusVYearSave_ServerValidate(objectsource,ServerValidateEventArgsargs)
if(intYearSave > intYearIncome * 0.8)
{
args.IsValid =false;//如果年存款大于年收入的80%则验证不通过
}
else
{
args.IsValid =true;//年存款小于年收入的80%,验证通过返回真
}
}
(10)最后,我们在“注册”按钮中添加如下代码。
{
if (Page.IsValid)
{
LblMessage.Text = "恭喜,通过验证";
}
else
{
LblMessage.Text = "对不起,请重新输入有问题的地方!";
}
}
}
.aspx代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
核心代码:.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
Validator
RESimpName
TxtSimpName
名字有误
[\u4e00-\u9fa5]{2,4}
表4-2验证控件设置
(7)现在我们已经解决了大部分的问题,下面我们要解决一个关键的验证问题,就是如何验证年存款最多为年收入的80%这个条件。要解决这个特殊的验证是无法通过简单地设置验证控件来实现的,必须通过代码(也就是程序)来解决这个问题。
{
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
}
protected void CusVYearSave_ServerValidate(object source, ServerValidateEventArgs args)
为此,我们要使用到一个叫做CustomerValidate的验证控件。
该控件设置如下表4-3所示:
验证控件类型
ID
被验证的控件
ControlToValidate
错误消息
ErrorMessage
Customer
Validator
CusVYearSave
TxtYearSave
年存款大于年收入的80%
表4-3