下面的所有控件都用到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 !