Приоритетность проверки NHibernate Validator над встроенной проверкой?
Из этого обсуждения я понял, что NHibernate Validator запускается после встроенной проверки, то есть мои атрибуты Not Null генерируют исключение PropertyValueException до того, как NHibernate Validator будет запущен.
Есть ли способ запустить NHV до встроенных валидаторов NH?
Я хотел бы по-прежнему иметь возможность проверять все грязные объекты, как ванильный NHV.
1 ответ
Вы можете проверить сущности самостоятельно вне 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);