asp.net 1.1中分组验证的实现

根据验证控件的TabIndex这个几乎没有用的属性来分组

页面Javascript脚本: <script language="javascript" type="text/javascript"> function hideOldValidatorDisplay() { var i; for (i = 0; i < Page_Validators.length; i++) { var val = Page_Validators[i]; if (typeof(val.display) == "string") { if (val.display == "None") { return; } } if (val.display == "Dynamic") { val.style.display = "none"; return; } val.style.visibility = "hidden"; } } var oldPage_Validators; function selectForValidator(tabIndex) { if(typeof(oldPage_Validators) == "undefined") { oldPage_Validators = Page_Validators; } result = new Array(); for(i = 0;i < oldPage_Validators.length; i++) { if(oldPage_Validators[i].tabIndex == tabIndex) { result[result.length] = oldPage_Validators[i]; } } hideOldValidatorDisplay(); Page_Validators = result; } </script><script language="javascript" type="text/javascript"> function hideOldValidatorDisplay() { var i; for (i = 0; i < Page_Validators.length; i++) { var val = Page_Validators[i]; if (typeof(val.display) == "string") { if (val.display == "None") { return; } } if (val.display == "Dynamic") { val.style.display = "none"; return; } val.style.visibility = "hidden"; } } var oldPage_Validators; function selectForValidator(tabIndex) { if(typeof(oldPage_Validators) == "undefined") { oldPage_Validators = Page_Validators; } result = new Array(); for(i = 0;i < oldPage_Validators.length; i++) { if(oldPage_Validators[i].tabIndex == tabIndex) { result[result.length] = oldPage_Validators[i]; } } hideOldValidatorDisplay(); Page_Validators = result; } </script>

 

     < script language = " javascript " >
    
function  hideOldValidatorDisplay() 
    {
        
var  i;
        
for  (i  =   0 ; i  <  Page_Validators.length; i ++
        {
            
var  val  =  Page_Validators[i];
            
if  ( typeof (val.display)  ==   " string "
            {    
                
if  (val.display  ==   " None "
                {
                    
return ;
                }
            }
            
if  (val.display  ==   " Dynamic "
            {
                val.style.display 
=   " none " ;
                
return ;
            }
            val.style.visibility 
=   " hidden " ;
        }
    }
    
var  oldPage_Validators;
    
function  selectForValidator(tabIndex)
    {
        
if ( typeof (oldPage_Validators)  ==   " undefined " )
        {
            oldPage_Validators 
=  Page_Validators;
        }
        result 
=   new  Array();
        
for (i  =   0 ;i  <  oldPage_Validators.length; i ++ )
        {
            
if (oldPage_Validators[i].tabIndex  ==  tabIndex)
            {
                result[result.length] 
=  oldPage_Validators[i];
            }
        }
        hideOldValidatorDisplay();
        Page_Validators 
=  result;
    }
    
</ script >

//-----------------------------------------------

CodeBehind代码:

         private   void  Page_Load( object  sender, System.EventArgs e)
        {
            
if ( ! Page.IsPostBack)
            {
                
// 验证TabIndex为15的验证控件
                 this .lbtnSubmit.Attributes[ " onclick " ] = " selectForValidator(15); " ;
                
// 验证未设TabIndex,即TabIndex=0的验证控件
                 this .btnSubmit.Attributes[ " onclick " ] = " selectForValidator(0); " ;
            }
        }
        
protected   bool  ValidateGroup(Int16 validatorTabIndex)
        {
            
bool  isInputValid  =   true ;
            BaseValidator baseVal;
            
foreach (IValidator valCtl  in  Validators)
            {
                baseVal 
=  (BaseValidator)valCtl;
                baseVal.IsValid 
=   true ;
                
if (baseVal.Enabled  &&  baseVal.Visible  &&  baseVal.TabIndex  ==  validatorTabIndex)
                {
                    valCtl.Validate();
                    isInputValid 
=  isInputValid  &&  valCtl.IsValid;
                }
            }
            
return  isInputValid;
        }
        
private   void  lbtnSubmit_Click( object  sender, System.EventArgs e)
        {
            
bool  isPageValid  =  ValidateGroup( 15 );
            
if (isPageValid) Response.Write( " Valid " );
        }
        
private   void  btnSubmit_Click( object  sender, System.EventArgs e)
        {
            
bool  isPageValid  =  ValidateGroup( 0 );
            
if (isPageValid) Response.Write( " Valid " );        
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值