.NET 中验证控件的使用

下面的所有控件都用到errormassage(出错时显示信息)和 Display [Dynamic(错误动态显示),Static(错误静态显示)]

使用时要根据具体情况设置Display,防止对网页外观产生影响。

1、requiredfieldvalidator    限制空字段 ; 要点 Controltovalidate属性 用来绑定控制限制哪个控件。

2、comparevalidator  比较2个字段控件,常有以下三种用法:

(1):和固定值比较 ,方法有一些常用的算术运算,如:等于,大于.等
 
要点,ControlToValidate属性 用来绑定控制限制哪个控件;operator 属性设顶算术运算方法,type 属性设置数据类型,

valuetocompare 属性必须填写被比较项的值。

(2):用于检查数据类型,检查输入的值是否为规定的数据类型;

要点 :ControltoValidate 属性  同上,operator 属性此时选择 DateTypeCheck,type 属性选择相应的数据类型即可,
其他的就不用管了

(2):用于检验2次输入的值是否一致,如:注册时2次密码输入是否相同。

要点 :Controltovalidate 属性同上,此时controltocopare 必须选择另外一个控件,这样就好2个进行比较了 ,

operator 属性此时选择比较运算方法。

3、RangeValidator  检查指定范围 
 
ControlToValidate属性 用来绑定控制限制哪个控件,type 属性设置数据类型

minimumvalue ;maximumvalue  分别设置最小值和最大值,

4、RegularExpressionValidator 使用表达式检查值

对输入的字符串进行检查,ControlToValidate属性 用来绑定控制限制哪个控件,
ValidationExpression 属性输入验证表达式。(系统自带了常用表达式,表达式具体写法以后介绍)。

5 CustomValidator 通过客户端或者服务器端函数检查值(自定义验证,如用户注册时检查用户名是否已经被注册等):
ControlToValidate属性 同上,其 ServerValidate 事件用来编写验证程序;
如:用于验证用户是否存在,如果存在则显示错误信息;args.IsValid :取出的值,args.IsValid  是否通过。

 protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        string username = args.Value;
        SqlConnection con = new SqlConnection("server=;database=user;uid=bb;pswd=dd;");
        con.open;
        SqlCommand cmd = new sqlcommand("select *from user where name=" + username, con);
        int a = Convert.ToInt32(cmd.ExecuteScalar());
        if (a > 0)
        {
            args.IsValid = false;
        }
        else {
            args.IsValid = true;
        }
    }


6 ValidatorSummary 在页面中列出所有控件的错误。(验证汇总)

把一个页面中验证控件的错误信息统一显示在一个地方(错误集中显示)


附:page.isvalid   判断整个页面的验证是否通过(有一个未通过就为false)

如果通过再提交服务器(主要基于服务器端验证)

由于浏览器版本的不同,有的客户端(低版本)无法验证,从而产生错误,我们可以禁用客户端验证,如下
%@Page ClinetTarget="DownLevel"  %
这样所有验证都在服务器端。一定要判断 page.isvalid 是否有效。

补充 如果一个按钮想不激活验证,可以把 CausesValidation="False" 这样就可以了.如取消按钮
----------------------------------------------------------------------------------------go to bed !
posted @ 2006-03-21 23:26  New Yang Bo Element  阅读(519)  评论(0编辑  收藏  举报