【转】ASP.NET专题研究——验证控件

       如果说学习桌面开发的经典入门程序是在控制台上输出“ Hello Word” 的话,那么网页入门的程序往往是做一个简单的注册页面(当然,登录数据在不牵涉到数据库等情况下可能是写死的,比如在代码中或者在配置文件中)。“麻雀虽 小,五脏俱全”,登录窗体要考虑的问题也不少,除了验证用户名和密码是否匹配之外,还要考虑“用户名”是否为空、电子邮件格式、年龄范围等问题。或许您用 语句在后台代码判断,不过得不偿失, 因为微软人性化的操作已经为您提供了这方面的控件,称为验证控件 。下面仅仅对验证控件的属性等作一个总结。

 

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值