优先考虑NHibernate Validator对内置验证的验证?

时间:2012-03-10 02:15:36

标签: nhibernate nhibernate-validator

从这个discussion我收集NHibernate Validator在内置验证之后运行,这意味着我的Not Null属性在NHibernate Validator运行之前抛出了PropertyValueException。

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

我仍然希望能够验证像NHV一样的所有脏实体。

1 个答案:

答案 0 :(得分: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);