0

从这个讨论中,我收集到 NHibernate Validator 在内置验证之后运行,这意味着我的 Not Null 属性在 NHibernate Validator 甚至运行之前抛出 PropertyValueException。

有没有办法在 NH 内置验证器之前运行 NHV?

我希望仍然能够像香草 NHV 那样验证所有脏实体。

4

1 回答 1

0

您可以在 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);
于 2012-03-11T17:32:10.517 回答