asp.net验证控件。

刚才写了自定义验证控件,这里也顺便把其他验证控件列出来。相关资料网上搜集的。

1.RequiredFieldValidator:非空验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
InitialValue :要验证的字段的初始值,很少用到


 

2.CompareValidator:比较验证控件
主要属性:
ControlToCompare :用于进行比较的控件ID
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
Operator :对值进行比较操作,默认为Equal(=)
Type:用于比较的值的数据类型

Operator 属性

说明

Equal

所验证的输入控件的值与其他控件的值或常数值之间的相等比较。

NotEqual

所验证的输入控件的值与其他控件的值或常数值之间的不等比较。

GreaterThan

所验证的输入控件的值与其他控件的值或常数值之间的大于比较。

GreaterThanEqual

所验证的输入控件的值与其他控件的值或常数值之间的大于或等于比较。

LessThan

所验证的输入控件的值与其他控件的值或常数值之间的小于比较。

LessThanEqual

所验证的输入控件的值与其他控件的值或常数值之间的小于或等于比较。

DataTypeCheck

输入到所验证的输入控件的值与 Type属性指定的数据类型之间的数据类型比较。如果无法将该值转换为指定的数据类型,则验证失败。

如果Operator属性为DataTypeCheck,将忽略ControlToCompare 和 ValueToCompare属性,同时Type属性起作用。

Type属性说明

String

指定字符串数据类型。

Integer

指定 32 位有符号整数数据类型。

Double

指定双精度浮点数数据类型。

Date

指定日期数据类型。

Currency

指定货币数据类型


3.RangeValidator:数据范围验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
MaximumValue:所验证控件的最大值
MinimumValue:所验证控件的最小值


 

4.RegularExpressionValidator:数据格式验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
ValidationExpression:用于确定有效性的正则表达式,系统默认提供了几个正则表达式,如果需要自己新建,就要了解正则表达式的意义,推荐一篇网摘:正则表达式整理备忘

正则表达式说明
方括号“[ ]”用与定义可接受的字符。[abc123] 表示控件只能接受 a,b,c,1,2,3 这6个字符
反集合符号 “ ^ ”用于定义不可以接受的字符。[^a-h] 表示控件除了 a 到 h 8个字符外,都可以接受
花括号“{ }”定义必须输入的字符个数。{6}表示只能输入6个字符 ; {6,}表示必须输入6个以上,无上限 ; {2,6} 表示必须输入2至6个字符;但是花括号必须放在方括号后面,例如 [a-z]{4} 表示必须输入 4位a和z之间的任意字符
小圆点 “ . ”用于代表任意字符。 例如 .{3,6}表示接受3到6个任意字符。
竖线 “ | ”用于表示 “或”的逻辑符号。例如 [1-9]{3,6}|[A-Za-z]{3} 表示可以接受 3到6个数字或者 3个字母。 (大小写都可以区别的哦)
小括号“ () ”用于分块,与数字运算中的小括号作用类似
斜线 “ \ ”若希望可以接受的字符包含上述特殊字符。例如 \([0-9]{3}\),表示输入格式为“(xxx)”的电话区号


 

5.ValidationSummary:验证错误信息显示控件
主要属性:
DisplayMode:摘要显示格式
ShowMessageBox:是否弹出错误的消息对话框
ShowSummary:是否显示错误摘要文本


 

6.CustomValidator:自定义验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息 
ValidateEmptyText:控件文本为空时,是否验证控件
ClientValidationFunction:客户端脚本验证功能,默认为空。如希望在服务器添加验证,则使其为空并填写ServerValidate事件,如希望在客户端添加验证,则该属性值为JavaScript的function名。
主要事件:
客户端验证:ClientValidationFunction="clientv"
<script type="text/jscript">
    function clientv(s,e)
    {
        if(e.Value=="客户端")
        {
            e.IsValid=true;
        }
        else
        {
            e.IsValid=false;
        }
    }
    </script>
服务器验证:ClientValidationFunction=""
ServerValidate:调用以在服务器上执行验证;双击控件或者选用事件。

.NET基础之验证控件 - jasondct - jasondct .NET基础之验证控件 - jasondct - jasondct 例题:判断输入是否为偶数
 1protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
 2.NET基础之验证控件 - jasondct - jasondct.NET基础之验证控件 - jasondct - jasondct    
 3        try 
 4.NET基础之验证控件 - jasondct - jasondct.NET基础之验证控件 - jasondct - jasondct        
 5            //如果输入的值为偶数,则验证通过。args.Value:需要验证的控件的值 
 6            if ((Convert.ToInt32(args.Value) % 2== 0
 7.NET基础之验证控件 - jasondct - jasondct.NET基础之验证控件 - jasondct - jasondct            
 8                //是否通过验证 
 9                args.IsValid = true
10            }
 
11            else 
12.NET基础之验证控件 - jasondct - jasondct.NET基础之验证控件 - jasondct - jasondct            
13                args.IsValid = false
14            }
 
15        }
 
16        catch(Exception e) 
17.NET基础之验证控件 - jasondct - jasondct.NET基础之验证控件 - jasondct - jasondct        
18            args.IsValid = false
19        }
 
20    }

21
22


 

7.禁用验证控件
在特定条件下,可能需要避开验证,可以通过以下3种方式禁用数据验证:

  • 在特定控件中禁用验证:将相关控件的CausesValidation属性设置为false
  • 禁用验证控件:将验证控件的Enabled属性设置为false
  • 禁用客户端验证:将验证控件的EnableClientScript属性设置为false
命运负责洗牌,但是玩牌的是我们自己!

javascript 函数和 CustomValidator控件相结合使用

 

<asp:TextBox ID="txtPwdPrompt"runat="server"></asp:TextBox>

<asp:CustomValidatorid="CVPwdPrompt"runat="server" ClientValidationFunction="CheckPwd"ControlToValidate="txtPwdPrompt" ErrorMessage="<spanstyle='font:12px'>提示问题必须在2-50个字符内</span>"Display="None"></asp:CustomValidator>

 

Javascript函数:

<script language="javascript" type="text/javascript">

        functionClientValidation(source,value)

        {

            varstr = value.Value;

            varlen = 0;

            for(var i=0;i<str.length;i++)

            {

                if(str.charCodeAt(i)<128)

                    len++;

                else

                    len+=2;

            }

            if(len>5)

                value.IsValid = true;

            else

                value.IsValid = false;

        }

 

       functionCheckPwd(source, arguments) {

          if(arguments.Value.length > 2 && arguments.Value.length < 11)

            {

                arguments.IsValid = true;

                alert("验证通过!");

            }

            else

            {

                arguments.IsValid = false;

                alert("请输入密码的长度3到10之间!");

            }

        }

</script>

函数有两个参数:

 

source 参数是对为 CustomValidator 控件呈现的 <span> 元素的引用。因此,您可以编程的方式控制 <span> 标记,如修改 InnerHtml 属性。

 

arguments 参数是一个具有以下两个属性的对象:Value 和 IsValid。使用此参数可以获取控件的值,以根据自定义验证例程验证并指示该值是否有效。

 

    使用 ClientValidationFunction 属性指定与 CustomValidator 控件关联的客户端验证脚本函数的名称。由于该脚本函数在客户端执行,因此该函数必须使用目标浏览器支持的语言(如 VBScript 或 JScript)来编写。

服务器端验证与客户端验证一样,可以通过使用 arguments 参数的 Value 属性来访问要验证的输入控件中的字符串。通过设置 arguments 参数的 IsValid 属性返回验证结果。

代码如下:

  protectedvoid cvLength_ServerValidate(object source, ServerValidateEventArgsargs)

   {

        if(args.Value.Length > 5)

        {

            args.IsValid = true;

        }

        else

        {

            args.IsValid = false;

        }

    }

注意:Value首字母必须大写

 

常用的服务器端数据验证控件 RequiredFieldValidator(必须项); CompareValidator(与某值的比较); RangeValidator(范围检查); RegularExpressionValidator(模式匹配); CustomValidator(用户定义); ValidationSummary控件用于在网页、消息框或在这两者中内联显示所有验证错误的摘要 RequiredFieldValidator控件默认检查非空字符串(空格不算在内)。在RequiredFieldValidator关联的表单字段中输入任何字符,该RequiredFieldValidator控件就不会显示它的验证错误信息。 RequiredFieldValidator控件用于要求用户在提交表单前为表单字段输入值。使用Required- FieldValidator控件时,必须设置两个重要的属性: ControlToValidate——被验证的表单字段的ID。 Text——验证失败时显示的错误信息。 RangeValidator控件用于检测表单字段的值是否在指定的最小值和最大值之间。使用这个控件时,必须设置5个属性: ControlToValidate——被验证的表单字段的ID。 Text——验证失败时显示的错误信息。 MinimumValue——验证范围的最小值。 MaximumValue——验证范围的最大值。 Type——所执行的比较类型。可能的值有String、Integer、Double、Date和Currency。 CompareValidator控件可用于执行三种不同类型的验证任务。可使用CompareValidator执行数据类型检测。换句话说,可以用它确定用户是否在表单字段中输入了类型正确的值,比如在生日数据字段输入一个日期。 也可以用CompareValidator控件在输入表单字段的值和一个固定值之间进行比较。例如,要建立一个拍卖网站,就可以用CompareValidator检查新的起价是否大于前面的起价。 最后,可以用CompareValidator控件比较一个表单字段的值与另一个表单字段的值。例如,可以使用CompareValidator控件检查输入的会议开始日期值是否小于输入的会议结束日期值。 CompareValidator控件有6个重要的属性: ControlToValidate——被验证的表单字段的ID。 Text——验证失败时显示的错误信息。 Type——比较的数据类型。可能的值有String、Integer、Double、Date和Currency。 Operator——所执行的比较的类型。可能的值有DataTypeCheck、Equal、GreaterThan、Greater- ThanEqual、LessThan、LessThanEqual和NotEqual。 ValueToCompare——所比较的固定值。 ControlToCompare——所比较的控件的ID。 RegularExpressionValidator控件用于把表单字段的值和正则表达式进行比较。正则表达式可用于表示字符串模式,比如电子邮件地址、社会保障号、电话号码、日期、货币数和产品编码。 这个控件ValidationExpression中可以输入正则表达式来控制用户输入的字符,正则表达式的用处很多。具体可以在网上自己找一些常用的正则表达式看一下 只能输入数字:"^[0-9]*$"。   只能输入n位的数字:"^\d{n}$"。   只能输入至少n位的数字:"^\d{n,}$"。 。。。。。。。。。。。。。。。。。。。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值