zoukankan      html  css  js  c++  java
  • Asp.net中验证控件扩展,使被验证框高亮

      //Rewrite function ValidatorUpdateIsValid in WebUIValidation.js    
      function ValidatorUpdateIsValid() {
          var i;
          var item;
          var index=-1;
          var canPass=true;
          var j=0;
          var bannerAD = new Array();
             
          for (i = 0; i < Page_Validators.length; i++) {
              if (!Page_Validators[i].isvalid) {
              //alert(Page_Validators[i].id+'-------a');
               item = document.getElementById(Page_Validators[i].controltovalidate);
               //item.style.borderColor="red";
               bannerAD[j]=item;
               //alert(bannerAD[j]);
               j++;
               //index=i;
               //canPass=false;
                  Page_IsValid = false;
                  //return;
              }
              else
              {
           //alert(Page_Validators[i].id+'------b');
                  item = document.getElementById(Page_Validators[i].controltovalidate);
                  item.style.borderColor="#ababab";
                  //Page_IsValid = true;
              }
         }
         for( var t=0;t<bannerAD.length;t++)
         {
              //alert(bannerAD[t]);
              bannerAD[t].style.borderColor="red";
         }
         
         for (i = Page_Validators.length-1; i >=0 ; i--) {
              if (!Page_Validators[i].isvalid) {       
               index=i;       
               canPass=false;
              }     
         }
         if(index>=0)
         {
           item = document.getElementById(Page_Validators[index].controltovalidate);
           item.focus();
         }
           if(!canPass)
               return;
         Page_IsValid = true;
      }
        使用方法:

        将上面的代码复制到任何一个使用验证控件的页面,此函数将会覆盖WebUIValidation里的同名函数,达到背景变色的目的

        环境:asp.net 1.1,ie(很遗憾,firefox在asp.net1.1环境下,验证控件的客户端验证不会起作用)


        ServerSide Code:

        public static void SetControl(System.Web.UI.UserControl objUserControl)
                                {
                                            System.Web.UI.WebControls.BaseValidator validator=null;
                                            object controtovalidator=null;
                                            System.Web.UI.WebControls.WebControl wc=null;
                                            foreach( IValidator validator in Page.Validators[0] )
                                            {
                                         
                                                  if(!validator.IsValid)
                                                  {                                                                       
                                                       wc.Attributes.Add("style","border-color:red");
                                                   }
                                                   else
                                                   {
                                                        wc.Attributes.Add("style","border-color:");
                                               }
                                            }                       
                                }
         
         
        Code example:
         
        static public void onRegisterValidation(Registration objRegistration)
                                {
                                            if(objRegistration.Page.IsValid)
                                            {
                                                        …
                                            }
                                            else
                                            {                                   
                                                        SetControl(objRegistration.InnerRegistrationInstance);
                                                        
                                            }
                                
                                }       


      1. 相关阅读:
        剑指Offer对答如流系列
        剑指Offer对答如流系列
        KMP算法
        殊途同归
        从m个数中取top n
        用红黑树实现500万数据的动态排序
        返璞归真
        second blog编程之美------控制cpu曲线
        first blog编程之美-----计算1的个数
        mathematica入门学习记录:
      2. 原文地址:https://www.cnblogs.com/jinweijie/p/922191.html
      Copyright © 2011-2022 走看看