ASP.NET表单验证之CustomValidator控件
来源:互联网 发布:淘宝淘金币报名入口 编辑:程序博客网 时间:2024/04/29 12:34
CompareValidator:该控件可以完成3种数据验证。1、数据类型的验证;2、输入字符串值与固定值得比较(设置ValueToCompare属性);3、两个输入字符串值得比较验证(设置ControlToCompare属性)。
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
Type:要验证的数据类型(String/Integer/Double/Date/Currency(货币类型))。
Operator:所执行比较验证的操作类型(DataTypeCheck/Equal/GreaterThan/GreaterThanEqual/LessThan/LessThanEqual/NotEqual)
ValueToCompare:要比较的固定值
ControlToCompare:所比较的空间的ID
说明:空间在执行日期类型验证的时候,必须使用短格式的日期,如2010/2/4 或2010-01-01或2010.01.01。验证currency类型时,小数位不得操作2位。同样要验证输入为空,也必须得再次使用RequiredFieldValidator控件。
(2) RegularExpressionValidator:该控件使用指定的正则表达式验证输入的字符串值。
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
ValidationExpression:验证使用的正则表达式
说明:要验证是否为空,还是得使用RequiredFieldValidator控件。在输入正则表达式方面,asp.net也为我们提供了内置的表达式:在设计视图中打开该空间的属性窗口,选择ValidationExpresstion属性,即可选择asp.net提供的正则表达式字符串。
(3) CustomValidator:该控件允许用户自定义自己的验证函数,包括服务端和客户端js验证。
属性:ControlToValidate:验证控件要验证的输入控件ID(绑定的输入空间ID)
Text:输入控件输入的内容不能通过验证时显示的内容
ClientValidationFunction:执行客户端验证客户端函数名
ServerValidator:控件执行验证时引发的事件
说明:1、在使用ServerValidator事件时,起处理程序带有两个参数一个是引发事件的对象,一个是ServerValidateEventArgs类的一个实例。ServerValidateEventArgs包括三个属性:Value:被验证的表单字段值;IsValid:是否验证成功;ValidateEmptyText:表示所验证的表单没有值是是否执行验证。与其他验证控件还有一个区别就是ControlToValidate不是一定要赋值(验证的时候直接使用ServerValidator指定的处理函数来判断是否验证通过)。
示例1 :服务端验证,假设我们验证如果表单的值得长度大于20个字符,就显示验证失败。则只需要给ServerValidator添加一个处理函数如下:
protected void valComments_ServerValidate(object source, ServerValidateEventArgsargs)
{
if(args.Value.Length > 20) //使用Value值判断长度是否大于20
args.IsValid = false; //超过20验证失败
else
args.IsValid = true; //验证成功
}
验证控件代码:
<asp:CustomValidator
ID="valComments"
ControlToValidate="txtComments"
Text="(Comments must be less than 20 characters)"
Runat="server"
onservervalidate="valComments_ServerValidate"/>
说明:因为ServerValidate处理程序是服务端控件,页面需要传回服务器才能进行验证,才能得到验证结果。
示例2:客户端验证,为空间的ClientValidationFunction指定一个JS处理函数:
<script type="text/javascript">
functionvalComments_ClientValidate(source,args)
{
if(args.Value.length>10)
args.IsValid=false;
else
args.IsValid=true;
}
</script>
验证控件:
<asp:CustomValidator
ID="valComments"
ControlToValidate="txtComments"
Text="(Commentsmust be less than 20 characters)"
Runat="server"
ClientValidationFunction="valComments_ClientValidate" />
说明:该JS函数与ServerValidator的服务端函数一样,同样需要两个参数,最大的不同是使用不同语言编写。注意大小写。
示例3:验证空字段,与RangeValidator/CompareValidator/ReqularExpressionValidator不同的是如果要验证是否为空不要结合RequiredValidator,而是使用ValidateEmptyText属性。但是ValidateEmptyText验证必须传回服务端验证。
<asp:CustomValidator
ID="valProductCode"
ControlToValidate="txtProductCode"
text="(Invalid product code)"
ValidateEmptyText="true"
runat="server" onservervalidate="valProductCode_ServerValidate" />
示例4:不绑定ControlToValidate属性验证,在表单中放入一个输入框,放入一个验证控件,验证控件不设置ControlToValidate值(与输入框不绑定)。服务器端验证函数:
protected void valAnswerText_ServerValidate(object source, ServerValidateEventArgsargs)
{
//绑定ControlToValidate则可以
//使用args.Value.Length代替txtAnswer.Text.Trim().Length
if (txtAnswer.Text.Trim().Length < 4)
args.IsValid = true;
else
args.IsValid = false;
}
- ASP.NET表单验证之CustomValidator控件
- ASP.NET验证控件之CustomValidator
- ASP.net验证控制之CustomValidator控件
- ASP.net验证控制之CustomValidator控件
- ASP.NET - ASP.NET 服务器控件验证类型 - CustomValidator 类
- ASP.NET验证控件:CustomValidator 定制函数验证
- ASP.NET验证控件CustomValidator客户端验证DROPDOWNLIST、TEXTBOX
- ASP.NET验证控件CustomValidator客户端验证DROPDOWNLIST、TEXTBOX
- Asp.net自定义验证控件CustomValidator 的使用方法
- ASP.NET表单验证之ValidationSummary控件
- ASP.NET表单验证之基本验证控件一
- asp.net使用CustomValidator异步验证用户名
- asp.net中使用CustomValidator验证
- [ASP.NET]为什么CustomValidator验证控件在验证DropdownList的时候不能设置ControlToValidate属性
- asp.net验证输入框字符的长度(使用CustomValidator控件)
- CustomValidator自定义验证控件
- Asp.Net 之 CustomValidator控件不知道问题出在哪?
- ASP.NET之验证控件
- PageAdmin建站系统本机运行环境是如何配置的。
- PageAdmin建站系统在IIS中配置.html伪静态的方法。
- PageAdmin如何去掉版权信息以及简繁体如何使用。
- “选择性粘贴为无格式文本”(Paste Special as Unformatted Text)的快捷方法
- Ubuntu 64bit安装32bit软件办法
- ASP.NET表单验证之CustomValidator控件
- 9i中的数据回闪
- java
- WINXP下PHP环境的搭配
- 利用c++.net 获得dll文件的版本号
- 用C语言写一个简单的通讯录
- 将菜单项转成树项,且点击树触发相应的菜单事件
- I LOVE YOU IN EVERY DIMENSION
- 学习和掌握一种RTOS