您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第4章Web服务器验证控件
ASP.Net程序设计张凯计算机学院软件工程系2010年9月15日第四章Web服务器验证控件RequiredFieldValidatorCompareValidatorRangeValidatorRegularExpressionValidator4123CustomValidator5ValidationSummary6Web服务器验证控件验证控件用来检验用户输入的数据是否合法,如果合法,则页面可正常提交数据,否则验证控件会将定义好的错误提示显示出来。Web服务器验证控件Web服务器验证控件RequiredFieldValidator确保用户输入数据时不会跳过必填字段(强制输入数据)CompareValidator将用户输入值与某一指定值进行比较,看是否符合要求RangeValidator验证用户输入值是否在指定的范围内RegularExpressionValidator验证用户输人值是否符合正则表达式指定的模式CustomValidator验证用户输入值是否符合自定义的验证逻辑ValidationSummary用于收集以上所有末通过验证控件的ErrorMessage属性值,并显示在同一页面【返回】RequiredFieldValidator•用于验证用户是否在TextBox等输入控件中输入了数据,从而确保用户输入数据时不会跳过必填字段。属性名称说明ControlToValidate获取或设置要验证的输入控件的ID√InitialValue获取或设置要验证的输入控件的初始值IsValid获取或设置一个值,该值指示要验证的输入控件是否通过验证ErrorMessage获取或设置验证失败的错误信息Text获取或设置验证失败时在控件中显示的文本如果验证失败,Text属性设置的文本信息将在验证控件的位置上显示出来,如果没有设置Text属性值,则由ErrorMessage属性设置的信息替代Text显示。另外,ErrorMessage信息还会被ValidationSummary控件收集。当用户提交数据时,要验证的控件输入值若与InitialValue值相同,则验证也无法通过。示例1没有输入数据输入数据提示信息主要控件设置asp:TextBoxID=TextBox1runat=server/asp:TextBoxasp:RequiredFieldValidatorID=RequiredFieldValidator1runat=serverErrorMessage=TextBox为必填项目ControlToValidate=TextBox1Text=*/asp:RequiredFieldValidatorasp:ButtonID=Button1runat=serverText=提交/RequiredFieldValidator如果输入值与InitialValue值(如123456)相同则不会通过验证主要控件设置asp:TextBoxID=TextBox1runat=server/asp:TextBoxasp:RequiredFieldValidatorID=RequiredFieldValidator1runat=serverErrorMessage=TextBox为必填项目ControlToValidate=TextBox1Text=*InitialValue=123456/asp:RequiredFieldValidatorasp:ButtonID=Button1runat=serverText=提交/【返回】CompareValidator•将用户输入的数据值与某一指定值比较,该指定值可以是某个常量(String、Integer等类型),或是另一个输入控件的值,从而验证用户数据是否符合要求。属性名称说明ControlToValidate获取或设置要验证的输入控件的IDOperator获取或设置比较运算符ValueToCompare获取或设置要比较的数据常量值Type获取或设置要比较的数据的类型(String|Integer|Double|Date|Currency)ControlToCompare获取或设置要与验证的输入控件进行比较的输入控件IsValid获取或设置一个值,该值指示要验证的输入控件是否通过验证ErrorMessage获取或设置验证失败的错误信息Text获取或设置验证失败时在CompareValidator控件中显示的文本示例1•验证输入的数据值是否小于100。主要控件设置asp:TextBoxID=TextBox1runat=server/asp:TextBoxasp:ButtonID=Button1runat=serverText=提交/asp:CompareValidatorID=CompareValidator1runat=serverControlToValidate=TextBox1ErrorMessage=CompareValidatorOperator=LessThanValueToCompare=100Type=IntegerText=输入数据应小于100/asp:CompareValidatorCompareValidator比较主要控件设置asp:LabelID=Label1runat=serverText=请输入密码/asp:Labelasp:TextBoxID=psdTextBoxrunat=serverTextMode=Password/asp:TextBoxbr/asp:LabelID=Label2runat=serverText=再次输入密码/asp:Labelasp:TextBoxID=vldTextBoxrunat=serverTextMode=Password/asp:TextBoxbr/asp:CompareValidatorID=CompareValidator1runat=serverControlToValidate=vldTextBoxErrorMessage=密码不一致ControlToCompare=psdTextBoxType=StringOperator=Equal/asp:CompareValidatorbr/asp:ButtonID=Button1runat=serverText=提交/【返回】RangeValidator•用于验证用户输入值是否在指定的范围内。•验证范围取值由MaximumValue和MinimumValue两个属性指定。属性名称说明ControlToValidate获取或设置要验证的输入控件的IDMaximumValue获取或设置验证范围的最大值MinimumValue获取或设置验证范围的最小值Type获取或设置要比较的数据的类型(String|Integer|Double|Date|Currency)IsValid获取或设置一个值,该值指示要验证的输入控件是否通过验证ErrorMessage获取或设置验证失败的错误信息Text获取或设置验证失败时在RangeValidator控件中显示的文本示例asp:TextBoxID=TextBox1runat=server/asp:RangeValidatorID=RangeValidator1runat=serverControlToValidate=TextBox1ErrorMessage=取值必须在0-100之间MaximumValue=100MinimumValue=0Type=Integer/asp:RangeValidatorbr/asp:ButtonID=Button1runat=serverText=提交/【返回】RegularExpressionValidator•用于验证用户输入值是否符合正则表达式指定的模式.•例如:验证是否为合法邮件地址、电话号码或邮编等。属性名称说明ControlToValidate获取或设置要验证的输入控件的IDValidationExpression获取或设置验证规则的正则表达式IsValid获取或设置一个值,该值指示要验证的输入控件是否通过验证ErrorMessage获取或设置验证失败的错误信息Text获取或设置验证失败时在RegularExpressionValidator控件中显示的文本正则表达式编辑器【返回】一些验证表达式•只能输入数字:^[0-9]*$•只能输入n位的数字:^\d{n}$•只能输入m~n位的数字:^\d{m,n}$•只能输入非零的正整数:^\+?[1-9][0-9]*$•只能输入由26个英文字母组成的字符串:^[A-Za-z]+$•只能输入由26个小写英文字母组成的字符串:^[a-z]+$•验证用户密码:以字母开头,长度在6~18之间,只能包含字符、数字和下划线:^[a-zA-Z]\w{5,17}$•只能输入整数:^-?\d+$•只能输入浮点数:^(-?\d+)(\.\d+)?$•只能输入长度为N的字符:^.{N}$•验证是否含有^%&',;=?$\等字符:[^%&',;=?$\x22]+CustomValidator属性名称说明ControlToValidate获取或设置要验证的输入控件的IDIsValid获取或设置一个值,该值指示要验证的输入控件是否通过验证ErrorMessage获取或设置验证失败的错误信息Text获取或设置验证失败时在CustomValidator控件中显示的文本ValidateEmptyTextTrue|False,控件的文本为空时,验证程序是否验证控件重要事件•ServerValidate事件:当CustomValidator验证ControlToValidate属性的值时发生。protectedvoidCustomValidator1_ServerValidate(objectsource,ServerValidateEventArgsargs){//args.Value获取来自要验证的输入控件的字符串值//如果输入有效,则将args.IsValid设置为true;//如果输入无效,则将args.IsValid设置为false,此时CustomValidator控件将显示其ErrorMessage属性的文本。}示例1CustomValidatorasp:TextBoxID=TextBox1runat=server/asp:TextBoxasp:ButtonID=Button1runat=serverText=提交/asp:CustomValidatorID=CustomValidator1runat=serverControlToValidate=TextBox1ErrorMessage=请输入奇数onservervalidate=CustomValidator1_ServerValidate/asp:CustomValidatorprotectedvoidCustomValidator1_ServerValidate(objectsource,ServerValidateEventArgsargs){inti=int.Parse(args.Value);if(i%2==1)args.IsValid=true;elseargs.IsValid=false;}try{inti=int.Parse(args.Value);args.IsValid=((i%2)==1);}catch{args.IsValid=false;}更好一些注意-PostBackURL•Button按钮的PostBackURL跳转功能在CustomValidator验证之前就执行了!•如果要用Button跳转则:应去掉PostBackURL属性,然后在其Click事件中添加如下代码:protectedvoidButton1_Click(objectsender,E
本文标题:第4章Web服务器验证控件
链接地址:https://www.777doc.com/doc-1599709 .html