2009-11-04 74 views
1

我有一個ASP.NET MVC項目與xVal和數據註釋,我需要切換到nHibernate驗證。隨着數據的註釋我有一個DataAnnotationsValidationRunner和我在做這樣的事情:從xVal切換到nHibernate驗證

var errors = DataAnnotationsValidationRunner.GetErrors(this).ToList(); 
    if (errors.Any()) 
     throw new RulesException(errors); 

你怎麼做,與nHibernate.Validator?

更新:我看到這樣的事情:

var engine = new ValidatorEngine(); 
var errors = engine.Validate(objstovalid) 

,但我不能這樣做

if (errors.Any()) 
    throw new RulesException(errors); 

因爲錯誤是正確的類型(xVal.ServerSide.ErrorInfo)不是。

回答

1

據我所知,xVal曾經爲NHibernate驗證提供了一個跑步者,但它只適用於以前的版本。據我所知,目前的NHV版本沒有跑步者。

只是爲了澄清,你還想用xVal嗎?如果沒有,那麼忽略了上述情況,並運行這樣的NHV驗證:

var validator = new ValidatorEngine(); 
InvalidValue[] values = validator.Validate(theEntityYouWantToValidate); 
+0

是的,我還是想用XVAL,我不」想要使用System.ComponentModel.DataAnnotations – Omu 2009-11-04 09:40:29

+0

我想我不需要XVAL在服務器端,你能告訴我如何拋出休眠規則異常 – Omu 2009-11-04 10:22:59

+0

哪裏可以找到這些休眠異常,哪些命名空間 – Omu 2009-11-04 10:24:44