• ASP.NET编程之验证控件(Validation Controls)


    RequiredFieldValidator控件§

    该控件用于验证某个输入控件(inputcontrol)是否有需要的值域,一般用法如下:

    <asp:RequiredFieldValidator
    id="reqFieldEdition"
    ControlToValidate="rblEdition"
    Display="Static"
    InitialValue=""
    SetFocusOnError="true"
    Width="100%"runat="server">
    Messageto show
    </asp:RequiredFieldValidator>

    下面来讲解几个属性值;

    id:该属性值指定了RequiredFieldValidator控件的id号。

    ControlToValidate:该属性值指定了RequiredFieldValidator控件验证的控件ID号,上例中表示该RequiredFieldValidator控件验证的是一个id号为rblEdition的控件。

    Display:该属性值指定验证控件RequiredFieldValidator的显示方式,如果是Static,表示它的位置是事先分配好的;如果是Dynamic,则当要显示该控件时就动态地挤出一个地方显示。

    InitialValue:该属性值指定了要验证控件的初始值,在页面提交时,会把提交时控件值和初始值对比,如果两者一样,就表示验证失败。

    SetFocusOnError:该属性值指定为true后,在页面验证失败时,光标会自动定位到第一个验证失败的控件上。

    Message toshow:该内容表示的是验证失败时显示的消息内容。





    ValidationSummary控件

    不同于RequiredFieldValidator控件一对一的进行验证绑定,ValidationSummary控件将页面上所有RequiredFieldValidator控件验证失败的显示内容汇总后一起显示。

    页面中RequiredFieldValidator控件需要指明ErrorMessage属性值,用于在验证失败时其错误消息在ValidationSummary控件显示。RequiredFieldValidator一般用法如下:

    <asp:RequiredFieldValidator
    ID="reqFieldBug"
    ControlToValidate="txtBug"
    ErrorMessage="Youmust provide bug details"
    Display="Static"
    Width="100%"
    runat="server">
    *
    </asp:RequiredFieldValidator>

    ValidationSummary控件语法:

    <asp:ValidationSummary
    ID="ValSum"
    runat="server"
    DisplayMode="BulletList"
    HeaderText="Thefollowing errors were found: "
    ShowSummary="True"/>




    CompareValidator控件

    该控件用于比较要验证的目标控件值是否符合某个条件;一般用法如下:

    <asp:CompareValidatorrunat="server"
    id="CompareValidatorNumPurch"
    ControlToValidate="txtNumPurch"
    SetFocusOnError="true"
    ErrorMessage="Invalid number purchased"
    Type="Integer"
    Operator="GreaterThan"
    ValueToCompare="0">*
    </asp:CompareValidator>

    其他属性不在介绍了,主要说一下TypeOperator属性。

    Type:指明比较的数据类型,可用的Type属性值是StringIntegerDoubleDateCurrency

    Operator:该属性值指明比较的操作。可用的值域是:Equal,NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual,DataTypeCheck;几个值代表意义都很明显,其中DataTypeCheck表示的是要验证控件值是否可以转化为目标数据类型。



    RangeValidator控件

    该控件用于验证目标控件的值是否在某个范围内,一般用法如下:

    <asp:RangeValidator
    ControlToValidate="txtValue"
    ErrorMessage="RangeValidator"
    ID="RangeValidator1"
    MaximumValue="20"
    MinimumValue="10"
    runat="server"
    Type="Integer">
    Between10 and 20 please
    </asp:RangeValidator>

    其中Type属性同上面CompareValidator控件的Type属性一样的,另外MaximumValueMinimumValue两个属性值指明用于验证目标控件值的范围。



    RegularExpressionValidator控件

    该控件用于验证目标控件值符合某个表达式的值。一般用法如下:

    <asp:RegularExpressionValidator
    ControlToValidate="txtValue"
    ErrorMessage="RegularExpressionValidator"
    SetFocusOnError="true"
    ID="RegularExpressionValidator1" runat="server"
    ValidationExpression="\d{5}(-\d{4})?">Please enter avalid 5 digit zip code </asp:RegularExpressionValidator>

    这里主要介绍一下的是ValidationExpression属性;该属性值指定了目标控件值需要符合的表达式形式,具体写法参看:http://msdn.microsoft.com/zh-tw/library/hs600312(v=vs.80),此外VS自带的工具中列出几个基本表达式形式。



    CustomValidator控件

    CustomValidator控件将验证从TextBox§SelectionList§控件输入的内容。将CustomValidator控件的ControlToValidate§属性设置为要验证的控件的ID。当包含CustomValidator控件的窗体被发送到服务器时,CustomValidator控件将引发其ServerValidate§事件。一般用法如下:

    <asp:CustomValidator
    ControlToValidate="txtValue"
    ValidateEmptyText="false"
    ID="CustomValidator1"
    runat="server"
    ClientValidationFunction="ClientValidator"
    OnServerValidate="ServerValidator">
    Please enter an even number
    </asp:CustomValidator>

    其中ClientValidationFunction属性值指明了客户端的响应函数,OnServerValidate属性值指明了服务器端的响应函数,此例中的客户端的响应函数如下:

    <script type="text/javascript">
    function ClientValidator(source, args)
    {
    if (args.Value % 2 == 0)
    args.IsValid=true;
    else
    args.IsValid=false;
    return;
    }
    </script>

    服务器端的响应函数如下:

    protected void ServerValidator(object source, ServerValidateEventArgse)
    {
    try
    {
    int evenNumber = Int32.Parse(e.Value);
    if (evenNumber % 2 == 0)
    e.IsValid = true;
    }
    catch (Exception)
    {
    // error handler here
    }
    }


    ValidationGroup属性

    上面的讲解中,每次页面刷新时,页面中所有设定的目标控件都会被验证,但是在实际应用中,可能一次只需验证页面的某一组控件即可。这就是ValidationGroup属性值的实际用途了。假设有两组控件(Group1Group2)和两个button控件(button1button2)button1控件按下时只需要验证的是Group1控件组而忽略Group2控件组,button2控件按下时需要验证的是Group2控件组而忽略Group1控件组。如何利用ValidationGroup属性实现呢?其实很简单的。只需在Group1控件组的验证控件和与之对应的button1按钮控件添加属性域:ValidationGroup="Group1",在Group2控件组的验证控件和与之对应的button2按钮控件添加属性域:ValidationGroup="Group2"

  • 相关阅读:
    1002CSP-S模拟测试赛后总结
    「题解」:X国的军队
    1001CSP-S模拟测试赛后总结
    「题解」:联
    0929CSP-S模拟测试赛后总结
    「题解」:Kill
    「题解」:y
    Censoring【自动AC机】【水题毁我青春】【20190614】
    传说级快读
    针对值域与下标关系的总结
  • 原文地址:https://www.cnblogs.com/java20130722/p/3207141.html
Copyright © 2020-2023  润新知