ASP.NET服务器端验证控件的使用

2014-10-21 11:09陈少燕
电子世界 2014年12期
关键词:控件页面客户端

陈少燕

服务器控件的使用:当向Web页面中增加一个有效性验证控件时,控件就会呈现在客户端验证相关控件有效性的Javascript。

ASP.NET提供了6个有效性验证控件,其中5个是有效性控件,Cust-omvalidator控件是自定义控件。

下面介绍六个有效性验证控件的使用:

1.RequestFieldValidator控件:非空验证控件

(1)设计页面

设置属性:ControlToValidate和ErrorMessage。其中ControlTo-Validate是需要验证有效性的控件ID,ErrorMessage是当验证出现错误的时候,出现在页面上的文本信息。

(2)拓展:dropdown的非空验证

dropdown默认的话是“请选择”的选项被选中,selected=true,其他都是false。要使用非空验证必须设置InitialValue=”请选择”。

2.comparevalidator控件:比较控件

(1)设计页面

(2)设置属性:ControlToCompare和Cont-rolToValidate,分别填入需要验证的控件ID

默认属性Operator是equal。用来比较两个文本框的内容。

但是也可以对数据类型进行检查。如设置operator=DataType Check。然后设置类型type=date输入错误的日期格式就会出错误。

3.RangeValidator控件:范围验证控件

设置属性:MaximumValue和Minimum-Value,分别是控件可接受的最大值和最小值。在本题中,用户名的最大值是z,年龄的最大值是150。用户名的最小值是a,年龄的最小值是0。

注意type的类型,默认是string ,当对数字进行范围验证,需要设置type=int。

4.RegurExpressValidator控件

正则表达式验证控件,该控件功能非常强大,控件允许检查可预知的字符列表,如身份证号,电子邮件地址,电话号码或邮政编码等。

设置属性:

5.ValidatorSummary控件:错误总结控件

在ASP.net程序中,如果页面比较庞大而且需要验证的控件比较多,用户在观察错误信息时可能会出现混乱。ValidatorSummay解决了这一个难题。

如果不输入任何内容就提交,那么Error-Message的错误信息显示在ValidationSummary控件中,而页面主体显示Text的信息。如下:

(1)表中属性showmessagebox的值为Boolean型,如果设置true,页面上的错误信息不在页面中显示,而是以弹出对话框的形式来显示错误信息。Showsummary属性值同样为boolean型,如果设置其值为false,则错误汇总控件不显示汇总错误信息,反之在页面中显示错误信息。另外一个:验证汇总中可以设置headertext,表示验证摘要上方显示标题文本。

(2)ErrorMessage和Text属性通常需要搭配使用。所不同的是Text属性的错误信息一般是简短(如“必填”),ErrorMessage属性的信息应该识别有错误的表单字段(如“用户名必须填!”)

6.Customvalidator控件:自定义验证控件

(1)该控件允许用户根据程序设计需要自定义控件的验证方法。

(2)用戶自定义验证控件里面最重要的是args.Value和args.IsValid,args是函数的参数。Value和IsValid都是args的属性,一定要注意区别大小写。

args.Value:获取要验证的用户输入内容,比如文本框的内容args.IsValid:关联的控件是否通过验证,通过验证通过,就不会出现ErrorMessage的内容。

(3)用户输入是否能被3整除

拓展1:要求长度大于等于3位和输入内容必须能被3整除

长度必须大于等于3的代码如下:

protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)

{

if(args.Value.Length>=3)

args.IsValid=true;

else

args.IsValid=false;

}

拓展2:CustomValidator是用户自定义的验证控件,用来响应用户自定义的验证。可以是JS的客户端函数,也可以是写在后台代码中的服务端验证函数重点内容(两个属性):

OnServerValidate:规定被执行的服务器端验证脚本函数的名称ClientValidationFunction:规定用于验证的自定义客户端脚本函数的名称最终效果如下:

代码页面:

客户端验证:

如果将args.Value替换为TextBox1.Text会出现TextBox1未定义。

所有必须用:

Var text=document.getElementByld(‘<%=textbox1.ClientID%>)将args.Value替换为text.value。

服务器验证:

protectedvoidCustomValidator2_ServerValidate(objectsource,ServerValidateEventArgs args)

{

args.IsValid = (args.Value == “服务端”)。

}

猜你喜欢
控件页面客户端
刷新生活的页面
基于.net的用户定义验证控件的应用分析
如何看待传统媒体新闻客户端的“断舍离”?
关于.net控件数组的探讨
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
Web安全问答(3)
网站结构在SEO中的研究与应用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用