首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Enterprise Library 3.0 實戰 (3):透過組態檔驅動 Validation Application Block

     編輯:關於.NET

承接前文,本篇示範使用組態檔(而非屬性)設定驗證規則,適合需動態調整驗證邏輯、不想重新編譯的情境。

步驟 1:建立驗證目標類別

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; } }
}

先編譯專案,產生組件供組態工具載入。

步驟 2:使用 Enterprise Library 組態工具設定

  1. 開啟 App.config,VS 2005 會自動以 Enterprise Library 組態編輯器開啟
  2. 新增「Validation Application Block」
  3. 右鍵新增「類型」,載入剛編譯的組件,選取 User 類別

新增 Validation Application Block

選取驗證類型

步驟 3:建立驗證規則集與屬性驗證器

  1. 在類型上新增「規則集」,可建立多組規則(如「預設」、「嚴格」)
  2. 規則集下新增屬性 Name、Age
  3. 各屬性下新增驗證器:NotNullValidator、StringLengthValidator(1,50)、Int32RangeValidator(0,200) 等

新增驗證器

步驟 4:設定錯誤訊息與預設規則集

  • 各驗證器的 MessageTemplate 屬性可自訂失敗訊息
  • 在類型層級設定「預設規則集」,驗證時若未指定規則集將使用此組

訊息範本設定

預設規則集設定

步驟 5:程式碼驗證

User user = new User { Name = "TerryLee", Age = 210 };
ValidationResults results = Validation.ValidateFromConfiguration<User>(user);

foreach (ValidationResult result in results)
{
    Console.WriteLine($"Key: {result.Key}, Message: {result.Message}");
}

使用 Validation.ValidateFromConfiguration<T>() 靜態方法,自動讀取組態檔驗證規則。後續文章將介紹與 ASP.NET、WinForm 整合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved