企業庫提供了一個很強大的驗證應用程式子產品,特點是:
可以通過配置為你的程式中特定的類來定義規則集.
是為你的類的公有屬性,即對外開放的屬性進行驗證的.
使用企業庫驗證應用程式子產品的優勢:
有助于保持一緻的驗證方法。
包括大多數标準驗證,包括.NET資料類型校驗.
它讓您可以将多個規則集具有相同的類和該類的成員.
它可以讓你申請一個或多個規則集時,您驗證的對象.
企業庫驗證應用程式子產品提供了下列幾種驗證方法:
And CompositeValidator
ContainsCharacters Validator
Date Time RangeValidator
Domain Validator
Enum ConversionValidator
Not Null Validator
Object CollectionValidator
Object Validator
Or CompositeValidator
PropertyComparison Validator
Range Validator
Regular ExpressionValidator
Relative Date TimeValidator
String LengthValidator
Type ConversionValidator
Single MemberValidators
企業庫驗證應用程式子產品有2種使用模式:
代碼模式.
配置檔案模式.
本文講的是代碼模式,配置檔案模式在進階篇再介紹
下面介紹如何使用Microsoft Enterprise Library 5.0中的驗證應用程式子產品的代碼模式.
要使用緩存應用程式子產品, 需要導入相應的Dll檔案,在此我們要導入的是Microsoft.Practices.EnterpriseLibrary. Validation.dll ,System.ComponentModel.DataAnnotations.dll ,并添加需要的引用:

添加引用:
usingMicrosoft.Practices.EnterpriseLibrary.Validation.Validators;
usingMicrosoft.Practices.EnterpriseLibrary.Validation;
usingSystem.Collections.Generic;
2. 測試:
代碼
using System;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
using Microsoft.Practices.EnterpriseLibrary.Validation;
using System.Collections.Generic;
namespace test
{
class Program
staticint index =1;
staticvoid Main(string[] args)
//驗證Customer類
Validator<Customer> customerValidator = ValidationFactory.CreateValidator<Customer>();
//設定Customer的CustomerName字段為null
Customer myCustomer =new Customer(null);
ValidationResults vr = customerValidator.Validate(myCustomer);
Scan(vr);
//設定Customer的CustomerName
myCustomer.CustomerName ="HuangCong";
vr = customerValidator.Validate(myCustomer);
//建立一個日期
DateTime dt =new DateTime(1988, 01, 01);
//建立一個日期驗證器
Validator<DateTime> v1 =new DateTimeRangeValidator(DateTime.Parse("2009-01-01"), DateTime.Parse("2010-01-01"));
vr = v1.Validate(dt);
dt =new DateTime(2009, 5, 5);
/*
其他的驗證類還有如下這些,大家可以自己實驗:
And Composite Validator
Contains Characters Validator
Date Time Range Validator
Enum Conversion Validator
Object Collection Validator
Or Composite Validator
Property Comparison Validator
Regular Expression Validator
Relative Date Time Validator
String Length Validator
Type Conversion Validator
Single Member Validators
參考網站:http://msdn.microsoft.com/en-us/library/ff664694%28v=PandP.50%29.aspx
*/
}
publicclass Customer
//Not Null Validator 驗證器,驗證該屬性不能為空值
[NotNullValidator]
publicstring CustomerName;
public Customer(string customerName)
this.CustomerName = customerName;
privatestaticvoid Scan(ValidationResults vr)
Console.WriteLine("測試{0}:", index++);
if (!vr.IsValid)
Console.WriteLine("出錯");
else
Console.WriteLine("正确");
Console.WriteLine("---------------------------------------");
3. 運作結果: