• 让验证控件进行分组验证


    验证控件分组验证

    关键字:

    Page_ClientValidate,CausesValidation,ValidationGroup

    使用描述

      一个新建的页面,可以新建三个数据对象A,B,C;每个数据对象有一些字段;现有2种组合:(1)A+B+C;(2)A;具体用哪种组合由页面的DropDownList控件的选择决定:只新建A时,将B和C所在div隐藏。

    现在问题来了:隐藏B和C数据对象,相应的数据验证控件如:RequiredFieldValidator提示不能为空。

    解决办法是:将验证控件进行分组。

    大概实现过程如下

    1,给验证控件添加属性:ValidationGroup=”vgA”(组名随便写)

    2,修改保存按钮的属性:CausesValidation=false

    3, 给保存按钮添加OnClientClick= ValidateByGruop()

      代码如下:

       function  ValidateByGruop ()

        {

         var retval=false ;

         var val = $('#<%=下拉列表控件ID.ClientID %> option:selected').val();

         if(val == 1)

         {

              //只验证交采必须项

              retval= Page_ClientValidate("mustValidate");

         }

         else  

         {

             //验证所有项

              retval= Page_ClientValidate();

         }

         return retval ;

    }

    4,如果要使用 ValidationSummary 控件来显示汇总的验证信息,设置其ValidationGroup=”组名”即可

    补充说明;

    1,Page_ClientValidate方法

    Page_ClientValidate(validationGroup)

    参数为ValidationGroup属性的值。没有指定参数的情况下表示触发页面所有的Validator控件。

    返回值是布尔值(true:验证通过, false:验证失败)。

    2,在一个含有RequiredFieldValidator控件的页面上,RequiredFieldValidator控件发送到客户端后生成一些javascript函数,CausesValidation="True"的Button只比CausesValidation="False"的Button多了一些javascript代码

    参考博客:http://www.cnblogs.com/kkding/archive/2005/07/11/DataValidator.html

  • 相关阅读:
    10.27 模拟赛
    bzoj 1504 郁闷的出纳员
    Codeforces 633H. Fibonacci-ish II
    悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(部分背包)
    FATE(完全背包)
    Piggy-Bank(完全背包)
    Coloring Brackets (区间DP)
    Food Delivery (区间DP)
    You Are the One (区间DP)
    Brackets(区间DP)
  • 原文地址:https://www.cnblogs.com/webJingGao/p/2068816.html
Copyright © 2020-2023  润新知