单元控件使用验证_第1页
单元控件使用验证_第2页
单元控件使用验证_第3页
单元控件使用验证_第4页
单元控件使用验证_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

验证控件主讲教师:宋园园学习情境WEB开发者特别是ASP开发者,一直对数据验证比较恼火,当你好不容易写出数据提交程序的主体以后,还不得不花大把时间去验证用户的每一个输入是否合法。如果开发者熟悉JavaScript或者VBScript,可以用这些脚本语言轻松实现验证,但是又要考虑用户浏览器是否支持这些脚本语言;现在,有了ASP.NET验证控件,你可以轻松的实现对用户输入的验证,程序员们可以将重要精力放在主程序的设计上了。

任务3-2使用ASP.NET验证控件检验注册用户信息

ASP.NET中的验证控件为使用户更正输入错误或无效的数据,始终需要对用户输入的数据进行检查并显示错误消息验证将由在客户端或服务器中运行的验证代码执行ASP.NET提供了许多验证控件,用以检查输入并使验证数据更加简单方便与其他服务器控件一样,验证控件也被添加在ASP.NET页面中验证控件

在微软.NET框架推出之后,提供了一种很好的验证机制,这就是验证控件。它可以使程序员几乎不用编写程序就可以对用户提交的数据进行各种合法性验证。根据验证类型的不同,ASP.NET共提供了6种验证控件。(1)RequiredFieldValidator(必填验证控件)(2)CompareValidator(比较验证控件)(3)RangeValidator(范围验证控件)(4)RegularExpressionValidator(正则验证控件)(5)ValidationSummary(验证总结控件)(6)CustomValidator(自定义验证控件)RequiredFieldValidator控件此控件用于检查任何窗体控件中是否包含值,用于强制用户在某些控件中必须输入内容。比如用户ID,密码等。如果控件中不含任何值,则会生成错误消息提交窗体这些字段中是否有任何字段为空?方法Validate属性ControlToValidateErrorMessageTextRequiredFieldValidator控件

其基本语法如下:

<ASP:RequiredFieldValidatorid="控件标识"Runat="Server“ErrorMessage="错误提示信息"ControlToValidate=“要验证的控件ID”

Display="Static|Dymatic|None"

/>RequiredFieldValidator控件将所有控件放入窗体,同时应验证姓名和年龄输入是否为空从工具箱中选择RequiredFieldValidator控件为每个文本框置入一个RequiredFieldValidator控件,并按下一页所示设置各个控件的属性RequiredFieldValidator控件属性值IdRFV1ControlToValidatetxtNameText请输入姓名!!ForeColorRed属性值IdRFV2ControlToValidatetxtAgeText*ErrorMessage请输入年龄!ForeColorRed姓名字段中含有一个值,因此验证后未显示错误年龄字段为空,因此验证后显示错误消息CompareValidator控件该控件主要用比较运算符对用户在控件中输入的信息进行验证,可以和常数比较,也可以和其它控件的值进行比较。其基本语法如下:

<ASP:CompareValidatorid="控件标识"Runat="Server"Display="Static|Dymatic|None"ControlToValidate="要验证的控件ID"ControlToCompare="要比较的控件ID"ValueToCompare="要比较的值"ErrorMessage="错误提示信息"Type="String|Integer|Double|DateTime|Currency"perator="Equal|NotEqual|GreaterThan|GreaterTanEqual|LessThan|LessThanEqual|DataTypeCheck"/>CompareValidator控件将一个窗体字段中输入的值与一个固定值或另一个控件中输入的值进行比较,并检查值的类型检查ID是否为数字检查日期是否有效检查截止日期是否迟于起始日期属性ControlToCompareControlToValidateDisplayEnabledErrorMessageIsValidTextValueToCompare方法Validate选择三个CompareValidator控件CompareValidator控件属性值IDComVal1ControlToValidatetxtIdDisplayStaticTextID无效ForeColorRedOperatorDataTypeCheckTypeInteger检查ID:检查起始日期:检查截止日期:属性值IDComVal2ControlToValidatetxtSdateDisplayStaticText日期有效ForeColorRedOperatorDataTypeCheckTypeDate属性值IDComVal3ControlToComparetxtSdateControlToValidatetxtEdateDisplayStaticText截止日期应迟于起始日期ForeColorRedOperatorGreaterThanTypeIntegerCompareValidator控件ID应为整数值日期值无效ID正确日期正确截止日期应迟于起始日期RangeValidator控件用于验证用户输入的信息是否在指定的范围内。比如验证用户输入的年龄应该在0-150岁之间。其基本语法如下:<ASP:RangeValidatorid="控件标识"Runat="Server"Display="Static|Dymatic|None"ControlToValidate="要验证的控件ID"ErrorMessage="错误提示信息"Type="String|Integer|Double|DateTime|Currency"MinimumValue="最小值"MaximumValue="最大值"/>RangeValidator控件检查窗体字段的值是否介于最小值与最大值之间最小值和最大值可以为日期、号码、币值或字符串选择两个RangeValidator控件ID应介于1与100之间旅行日期应设于随后3个月内属性ControlToValidateDisplayEnabledErrorMessageIsValidMaximumValueMinimumValueText方法ValidateRangeValidator控件

privatevoidPage_Load(objectsender,System.EventArgse){ RangeVal2.MinimumValue=Convert.ToString(System.DateTime.Now.ToShortDateString());RangeVal2.MaximumValue=Convert.ToString(System.DateTime.Now.AddMonths(3).ToShortDateString());

}

privatevoidbtnSubmit_Click(objectsender,System.EventArgse){ if(IsValid) { lblMessage.Text=“您好”+txtId.Text+“你的旅行日期为:"+txtJdate.Text; }

}

将最小值设置为当前日期将最大值设置为自当前日期起的3个月如果输入无任何错误ID未介于1与100之间输入的日期已过期,而未在随后三个月内正则表达式正则表达式用于进行类型匹配正则表达式可使用文字文本逐字匹配它还可以使用元字符与复杂的字符序列相匹配以下为几种常用的符号(更多的参见书本)符号含义^字符串开始处$字符串结束[a-z]是否是a-z中的一个\w允许输入任何值\d{3}“\d”指定输入的值是一个数字,{}表示已指定数据类型的出现次数+表明一个或多个元素将被添加到正在检查的表达式正则表达式例如:国内电话号码的表达式(\(0\d{2,3}\)|0\d{2,3}-)?\d{7,8}(-\d{1,4})?解释:(\(0\d{2,3}\)|0\d{2,3}-)??表示前面的出现0或1|表示或者,即\(0\d{2,3}\)或者0\d{2,3}-也就是区号可以用(010),(0871),010-,0871-表示;\d{7,8}表示7位或者8位数字电话号码(-\d{1,4})??表示出现0或1次,即1到4位分机号或者没有分机号以下的都算满足:12345678010)1234567811234等。RegularExpressionValidator控件用于验证用户输入的信息是否符合正则表达式所规定的格式。比如对用户输入的Email,电话号码,邮政编码等进行验证。其基本语法如下:<ASP:RegularExpressionValidatorid="控件标识“

Runat="Server“display="Static"ControlToValidate="要验证的控件ID"ValidationExpression="正则表达式"ErrorMessage="错误提示信息"/>RegularExpressionValidator控件用于将在窗体字段中输入的值与正则表达式进行匹配此控件通常与文本框控件一起使用,以检查电子邮件ID、电话号码、信用卡号码、用户名和密码等是否有效属性ControlToValidateDisplayEnabledErrorMessageIsValidTextValidationExpression方法ValidateRegularExpressionValidator控件选择三个

RegularExpressionValidator控件姓名应介于2至50个字符之间应以有效的电子邮件格式填写电子邮件地址,如电话号码应为10位数RegularExpressionValidator控件用来验证姓名的控件的验证表达式的值:\w{2-50}用来验证电子邮件的控件的验证表达式的值:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*用来验证电话号码的控件的验证表达式的值:[0-9]{10}在字段中输入的值与正则表达式不匹配CustomValidator控件用于验证用户输入的信息是否符合自定义的验证条件,前面介绍的几种验证控件虽然功能强大,但都有其局限性,也就是说不可能满足所有的验证需求,对于一些特殊的验证需求,就可以使用该控件来完成验证,该控件具有最大的灵活性。其基本语法如下:

<ASP:CustomValidatorid="控件标识"Runat="Server"ErrorMessage="错误提示信息"ControlToValidate="要验证的控件ID"onServerValidateFunction="验证函数"Display="Static|Dymatic|None"/>CustomValidator控件按照用户指定的标准进行验证可在特定情况下无法使用任何标准验证控件时使用通常用来验证存储在特定数据库中的数据选择并放置一个CustomValidator控件,以检查用户输入的密码属性ControlToValidateDisplayEnabledErrorMessageIsValidText方法OnServerValidateValidate事件ServerValidateCustomValidator控件CustomValidator控件的属性属性值IDCusVal1ControlToValidatetxtPassDisplayDynamicText请输入有效密码ForeColorRed

privatevoidCustomValidator1_ServerValidate(objectsource, System.Web.UI.WebControls.ServerValidateEventArgsargs){ strVal=args.Value.ToUpper(); if(strVal.Equals("ADMINISTRATOR")) { args.IsValid=true; } else { args.IsValid=false; }

}privatevoidbtnLogin_Click(objectsender,System.EventArgse){ if(CusVal1.IsValid) { lblMessage.Text=“恭喜!!"; }}

触发CustomValidator控件的ServerValidate事件使用CustomValidator

代码验证密码字段如果用户输入的密码正确CustomValidator控件如果输入的密码错误,则显示错误消息输入的密码正确ValidationSummary控件

该控件本身没有验证功能,但它可以集中显示所有未通过验证的控件的错误信息。其基本语法如下:<ASP:ValidationSummaryid="控件标识"Runat="Server"HeaderText="标题文字信息"ShowSum

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论