2010-10-12 53 views
2

我有一個包含我的對象模型的類庫。我希望每個對象都有數據註釋,以將驗證規則放置到我的模型中,以便可以在2個應用程序之間共享驗證。一個是MVC 2應用程序,另一個是Windows窗體應用程序。2個應用程序共享的對象模型的數據註釋

我需要能夠使用數據註釋手動驗證對象模型,但不使用xVal。當我將對象模型庫切換到4.0客戶端配置文件時,它不能再使用xVal組件構建。域對象類庫將隨Windows應用程序一起分發,所以我想要使用4.0客戶端配置文件。

任何想法?

+1

爲什麼不在DataAnnotations命名空間中使用驗證器? – ladenedge 2010-10-12 13:59:04

+0

@ladenedge我最終做了你的建議。我投了票,但它應該是答案。 – Josh 2010-10-14 14:45:47

回答

1

那麼,我會提供一個更多的實質的答案,以防它可能對別人有幫助。

對於我們的驗證,我們用一個簡單的方法驗證這樣的:

public void Validate(T entity) 
{ 
    var context = new ValidationContext(entity, null, null); 
    var results = new List<ValidationResult>(); 

    bool valid = Validator.TryValidateObject(entity, context, results, true); 

    if (!valid) 
     ; // do something fancy with the results here, perhaps 
} 

您也可以跳過TryValidateObject和向右走至ValidateObject,如果你不想做任何花哨的結果。

相關問題