ValidatorEngine.Validate возвращает ноль (без ошибок), если настроено его ValidatorMode.UseExternal

Я интегрирую валидатор nhibernate в свое приложение, и все нормально с атрибутами, но как только я создаю *.nhv.xml файлы и перемещаю туда свои правила проверки (как встроенный ресурс)

ValidatorEngine.Validate(entity)
возвращает неправильно (на самом деле ничего и мой InvalidValue[] коллекция пуста

Я присваиваю любой комментарий / совет

1 ответ

Проблема была из-за части конфигурации валидатора nhibernate
первый

NHibernateSharedEngineProvider
должен быть назначен на
NHibernate.Validator.Cfg.Environment.SharedEngineProvider
тогда мы должны назвать текущий двигатель
Configure
не новый экземпляр ValidatorEngine
поэтому полный раздел конфигурации может выглядеть так:

           var provider = new NHibernateSharedEngineProvider();
           NHibernate.Validator.Cfg.Environment.SharedEngineProvider = provider;

var nhvConfiguration = new FluentConfiguration(); nhvConfiguration .SetDefaultValidatorMode(ValidatorMode.UseExternal) .Register(Assembly.Load("assembley name") .ValidationDefinitions()) .IntegrateWithNHibernate .ApplyingDDLConstraints() .And .RegisteringListeners(); var validatorEngine = NHibernate.Validator.Cfg.Environment.SharedEngineProvider.GetEngine(); validatorEngine.Configure(nhvConfiguration);
Другие вопросы по тегам