2010-11-01 53 views
0

是否有任何方式將自定義評估器傳遞給完整模型以驗證特定類型的所有屬性或屬性?MVC 2通用驗證。通過類型驗證模型或屬性的所有屬性

在這種情況下,我只能看到一個解決方案:驗證模型上的後操作。但是可能有些人有更好的通用想法?

是否可以通過屬性驗證來實現?

如果使用MVC 2.0中的驗證屬性無法實現,那麼它可以在3.0中實現嗎?

例如我想檢查任何模型的所有字符串屬性,如果有第一個符號空白。

+0

「上發佈操作驗證模式」是通常的情形。這對你來說錯了嗎? – bzlm 2010-11-01 08:01:34

+1

需要更多的細節,請張貼一些示例代碼?這是令人難以置信的模糊。 – jfar 2010-11-01 12:06:28

+0

使用屬性驗證,我們可能會傳遞模型中的任何屬性來驗證,但我正在尋找方法來創建這樣的通用屬性評估器,它接受任何模型來驗證,但看起來像不可能 – Greon 2010-11-04 05:37:31

回答

0

我會考慮使用Fluent Validation,不僅因爲它解決了你的用例(在控制器上下文之外的驗證),還因爲它在許多其他方面很棒。

從他們的主頁,你可以不喜歡在你的應用這在任何地方:

Customer customer = new Customer(); 
CustomerValidator validator = new CustomerValidator(); 
ValidationResult results = validator.Validate(customer); 

bool validationSucceeded = results.IsValid; 
IList<ValidationFailure> failures = results.Errors;