0
从这个discussion我了解到,NHibernate Validator在内置验证之后运行,这意味着在NHibernate Validator运行之前,我的Not Null属性抛出PropertyValueException。优先考虑NHibernate验证器对内置验证的验证吗?
有没有一种方法可以在NH建立验证器之前运行NHV?
我想仍然能够验证像香草NHV那样的所有脏实体。
从这个discussion我了解到,NHibernate Validator在内置验证之后运行,这意味着在NHibernate Validator运行之前,我的Not Null属性抛出PropertyValueException。优先考虑NHibernate验证器对内置验证的验证吗?
有没有一种方法可以在NH建立验证器之前运行NHV?
我想仍然能够验证像香草NHV那样的所有脏实体。
您可以在nhibernate之外验证您自己的实体。这里是一个例子:
ValidatorEngine validatorEngine = new ValidatorEngine();
var nhvConfiguration = new FluentConfiguration();
nhvConfiguration.SetDefaultValidatorMode(ValidatorMode.UseExternal)
.Register(Assembly.Load("Namespace_Where_Validations_Are_Located")
.ValidationDefinitions())
.IntegrateWithNHibernate
.AvoidingDDLConstraints()
.And
.AvoidingListenersRegister();
validatorEngine.Configure(nhvConfiguration);
InvalidValue[] invalidValues = validatorEngine.Validate(entityToValidate);
这是否验证'entityToValidate'的对象图中的所有脏项目? – Jonn 2012-03-12 00:17:38
我不相信它,但你可以测试,以确保。 – 2012-03-12 23:46:43
已检查。它不(或者我一定在做错事)。我不能实现这一点,因为它跳过了我想验证的其他一些脏对象。 – Jonn 2012-03-13 00:19:32