<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Enterprise Library 3.0 體驗(2):使用Validation Application Block

      摘要:在Enterprise Library 3.0 December 2006 CTP版中,加入了一個新的成員Validation Application Block,用來實現對業務對象的驗證。它支持兩種方式的驗證,通過特性Attribute和通過配置文件,但是在最新版本中并沒有提供配置的設計時支持,我們只能通過手動去修改配置文件來實現,所以本文主要看一下通過Attribute來實現驗證。

       

      主要內容

      1.通過ValidationFactory創建驗證器

      2.通過外觀類實現驗證

       

      一.概述

      Enterprise Library 3.0 December 2006 CTP版中,加入了一個新的成員Validation Application Block,用來實現對業務對象的驗證。它支持兩種方式的驗證,通過特性Attribute和通過配置文件,但是在最新版本中并沒有提供配置的設計時支持,我們只能通過手動去修改配置文件來實現,所以本文主要看一下通過Attribute來實現驗證。

      二.通過ValidationFactory創建驗證器

      Validation Application Block沿用了其他應用程序塊的一貫做法,使用相同的操作模式,為我們提供了一個ValidationFactory的工廠,用來創建驗證器。首先我們編寫一個簡單的業務對象類:

      /// <summary>

      /// http://terrylee.cnblogs.com

      /// </summary>


      public class User
      {
          
      private String _name;

          
      private int _age;

          
      public String Name
          
      {
              
      get return _name; }
              
      set { _name = value; }
          }


          
      public int Age
          
      {
              
      get return _age; }
              
      set { _age = value; }
          }

      }

      這只是一個普通的業務實體類,現在我們要驗證它的姓名屬性不能為空,且長度在150之間,年齡字段在0200之間,加上如下Attribute

      /// <summary>

      /// http://terrylee.cnblogs.com

      /// </summary>


      public class User
      {
          
      private String _name;

          
      private int _age;

          [NotNullValidator]
          [StringLengthValidator(
      1,50)]
          
      public String Name
          
      {
              
      get return _name; }
              
      set { _name = value; }
          }


          [Int32RangeValidator(
      0,200)]
          
      public int Age
          
      {
              
      get return _age; }
              
      set { _age = value; }
          }

      }

      Validation Application Block中,現在已經提供的驗證器有:

      l         AndCompositeValidator

      l         Int32RangeValidator

      l         NotNullValidator

      l         NullValidator

      l         OrCompositeValidator

      l         RangeValidator

      l         StringLengthValidator

      l         ValidNumberValidator

      l         ValueAccessValidator

      現在就可以進行驗證了,如下面的代碼片斷所示:

      /// <summary>

      /// http://terrylee.cnblogs.com

      /// </summary>


      class Program
      {
          
      static void Main(string[] args)
          
      {
              User user 
      = new User();

              user.Name 
      = "TerryLee";

              user.Age 
      = 60;

              IValidator
      <User> userValidators = ValidationFactory.CreateValidator<User>();

              ValidationResults results 
      = userValidators.Validate(user);

              Console.WriteLine(results.IsValid.ToString());

              Console.Read();
          }

      }

      首先使用ValidationFactory創建Validator,再調用ValidatorValidate方法進行驗證,返回的結果ValidationResults是一個ValidationResult的集合,包含了錯誤信息,我們可以通過KeyMessage屬性來顯示錯誤信息,如下所示:

      /// <summary>

      /// http://terrylee.cnblogs.com

      /// </summary>


      class Program
      {
          
      static void Main(string[] args)
          
      {
              User user 
      = new User();

              user.Name 
      = "TerryLee";

              user.Age 
      = 210;

              IValidator
      <User> userValidators = ValidationFactory.CreateValidator<User>();

              ValidationResults results 
      = userValidators.Validate(user);

              
      foreach (ValidationResult result in results)
              
      {
                  Console.WriteLine(String.Format(
      "Key: {0},Message: {1}", result.Key.ToString(), result.Message));
              }


              Console.Read();
          }

      }

      三.通過外觀類實現驗證

      用過Logging Application Block的朋友都知道,在Logging Application Block中為我們提供了一個Logger的外觀類,簡化了記錄日志。同樣在Validation Application Block中,為我們提供了一個Validation的外觀類,不需要再使用ValidationFactory。如下面的代碼片斷所示:

      /// <summary>

      /// http://terrylee.cnblogs.com

      /// </summary>


      class Program
      {
          
      static void Main(string[] args)
          
      {
              User user 
      = new User();

              user.Name 
      = "TerryLee";

              user.Age 
      = 210;

              ValidationResults results 
      = Validation.Validate<User>(user);

              
      foreach (ValidationResult result in results)

              
      {
                  Console.WriteLine(String.Format(
      "Key: {0},Message: {1}", result.Key.ToString(), result.Message));
              }


              Console.Read();
          }

      }

      可以看到,Validation Application Block沿用了Enterprise Library的一貫操作模式,使用起來也非常的簡單。如果提供的驗證器不能滿足實際開發的需要,也可以很輕松的創建自定義的驗證其。關于Validation Application Block就簡單得介紹到這兒。

      posted @ 2006-12-25 23:28  TerryLee  閱讀(16824)  評論(17)    收藏  舉報
      主站蜘蛛池模板: 精品 日韩 国产 欧美 视频| 成人午夜国产内射主播| 东阳市| 亚洲日本中文字幕乱码中文 | 日韩人妻少妇一区二区三区| 国产女人在线视频| 亚洲一区二区经典在线播放| 亚洲国产欧美日韩欧美特级| 久久波多野结衣av| 午夜免费啪视频| 国产av普通话对白国语| 国产精品美女久久久久久麻豆| 99久久婷婷国产综合精品青草漫画| 欧美一本大道香蕉综合视频| 久久精品国产88精品久久| 在线观看亚洲欧美日本| 人妻无码久久久久久久久久久 | 五月综合激情婷婷六月| 中文字幕亚洲一区二区三区| 日韩精品有码中文字幕| 好吊视频一区二区三区人妖| 亚洲成人av日韩在线| 精品国产迷系列在线观看| 一本高清码二区三区不卡| 国产免费人成网站在线播放| 欧洲免费一区二区三区视频| 亚洲女同在线播放一区二区| 国产色无码专区在线观看| 免费无码午夜理论电影| 亚洲国产精品日韩av专区| 亚欧美闷骚院| 国产肥妇一区二区熟女精品| 久久热这里这里只有精品| 99中文字幕精品国产| 亚洲国产精品线观看不卡| 青青国产揄拍视频| 国产精品中文字幕一区| 资源新版在线天堂偷自拍| 国产99久一区二区三区a片| 东京热人妻无码人av| 久久综合久久美利坚合众国|