博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

验证控件分组

Posted on 2005-12-19 22:36  单摆  阅读(1471)  评论(6编辑  收藏  举报

验证控件为我们开发人员省了不少的工作,但是也存在着不少问题,比如灵活度不够,一个页面如果存在多个表单的话,就无法同时都用验证控件。
本文通过设置验证控件的tabIndex属性(当然也可以用别的属性)及少量的js代码实现对验证控件分组 ,这样就可以在一个多提交表达页面都使用验证控件了。

步骤1:拷贝下面代码到aspx页面

<script language="javascript">
var oldPage_Validators;
function SelectForValidator(tabIndex)
{
    
if(typeof(oldPage_Validators) == "undefined")
    {
        oldPage_Validators 
= Page_Validators;
    }
    result 
= new Array();
    
var j=0;
    
for(i=0;i<oldPage_Validators.length;i++)
    {
        
if(oldPage_Validators[i].tabIndex == tabIndex)
        {
           result[j
++]=oldPage_Validators[i];
        }
    }
    Page_Validators
=result;

</script>

步骤2:设置分组ID,做法是将同一个表单的验证控件tabIndex设置成一样的  比如都设置成1。
步骤3:设置提交按钮的onclick属性  如btnSave.Attributes["onclick"]="SelectForValidator(1);";这里的1表示该分组的ID,记住要加“;” 因为按钮本身已经有onclick属性了,如果没有“;” 脚本就连在一起自然就报错了。