灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:9001回复:0

ASP.NET验证控件

楼主#
更多 发布于:2012-12-24 14:22

1、RequiredFieldValidator(验证非法值控件)

      该控件的英文直面被翻译成“非空控件”,有一个非常重要的属性:ControlToValidate,用于设置被验证的控件属性值是否为空(对于TextBox而言,属性值是“Text”),因此只要在ControlValidate中选择要绑定的那个控件(比如“登录名”的TextBox的ID)即可。

      如果性别验证是一个下拉框(默认是没有选择),此控件也可以使用RequiredFieldValidate进行验证(下拉框有两个属性“TextField”和“ValueField”,前者用于展示在页面上的值,选中某个以后可以通过ValueField获取其真实值)。如果使用RequiredFieldValidate验证下拉框,那么它将验证它的ValueField的值。此时您必须另外设置它的InitialValue,这个属性是表示如果被验证的那个控件的值等于InitialValue中的那个值,则将被视作非法值。



结论1:其实RequiredFieldValidate判断非法值的标准就是对比被比较的那个控件的值是否和InitialValue一致,如果一致被认定是非法的,所以不一定就判断“空”,我看这个控件的名称被称为“非法验证”为好。

除此之外,RequiredFieldValidate还有几个重要的属性(以下控件若具备这些属性,则它们用法等同于此):

结论2:

l        ErrorMessage:出错提示信息(用于显示验证失败的时候显示的信息,如果设置了Text,该属性将被Text替代)。
l        Text:验证失败时提示信息(验证失败时,显示该值;如果该值为空,那么显示ErrorMessage的值)。
l        Display:显示方式(None—不在控件处显示出错提示信息,Static—在控件处显示出错信息,验证通过后隐藏,但占位,Dynamic—在控件处显示出错信息,验证通过后隐藏,不占位,一般用于一个控件需要有几个验证绑定时布局美观)。


2、CompareValidator(比较验证控件)

该控件专门比较两个值是否相等。

结论3:

l        ControlToCompare:被比较的那个控件的ID。
l        ControlToValidate:要比较的那个控件的ID。
l        ValueToCompare:要被比较的数值。
l       Operator :比较的符号,当不满足该条件时触发异常事件(Equal-相等,GreatThan-大于,GreatEqualThan-大于等于,LessThan-小于,LessEqualThan-小于等于)。

【注意:该控件不能验证空值,所以一般和RequiredFieldValidator配合使用;一般ValueToCompare和ControlToCompare两者选取其一即可】

3、RegularExpressionValidator(格式验证)

该控件专门验证绑定的ID是否和预先的正则表达式是否符合。

结论4:

l        ValidationExpression:验证的规则(正则表达式)。
l        ControlToCompare:被比较的那个控件的ID。
【注意:该控件不能验证空值,所以一般和RequiredFieldValidator配合使用】



4、RangeValidator(范围验证)

该控件专门验证绑定的ID值是否在某个范围之内

结论5:

l        ControlToCompare:被比较的那个控件的ID。
l        MaximunValue:上限数值。
l        MinimunValue:下限数值。
【注意:该控件不能验证空值,所以一般和RequiredFieldValidator配合使用】



5、CustomValidator(自定义验证)

该控件用于让用户自定义验证触发规则实施验证(比如验证一个验证码与输入的是否匹配,微软没有提供这样一个控件,假设验证码动态生成的,并放在Session中,Session的名称Code)。

结论6:

l        ControlToCompare:被比较的那个控件的ID。
此时您应该激发以下事件,并编写代码验证(示例):




  protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
       {
           string code = Session["Code"].ToString();
           args.IsValid = (args.Value == code);
       }




l        args.Isvalid:验证是否合法(需要设置)。


l        args.Value:被绑定的那个控件的值(需要获取与某个其它值对比)。
【注意:该控件必须把ValidateEmptyText设置成True才会验证空值】

喜欢0 评分0
游客

返回顶部