2009-11-04 73 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