从这个discussion我收集NHibernate Validator在内置验证之后运行,这意味着我的Not Null属性在NHibernate Validator运行之前抛出了PropertyValueException。
有没有办法在NH的内置验证器之前运行NHV?
我仍然希望能够验证像NHV一样的所有脏实体。
答案 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);