Как остановить Ninject от переопределения пользовательского DataAnnotationsModelValidatorProvider?

StackOverflow https://stackoverflow.com/questions/8356811

Вопрос

У меня есть собственный DataAnnotationsModelValidatorProvider для более динамичной проверки модели, а не просто добавления атрибутов.Я попытался добавить свое предложение в global.asax.cs вот так:

родовое слово

Но как только я загружаю форму, я получаю сообщение об ошибке: «Имена типов проверки в ненавязчивых правилах проверки клиентов должны быть уникальными. Следующий тип проверки встречался более одного раза: требуется».

Согласно комментарий к этому блогу , это потому, что Ninject переопределяет поставщиков настраиваемых валидаторов.

Я новичок в MVC и, похоже, не могу найти способ сообщить Ninject, чтобы он также принимал моих пользовательских провайдеров. Как мне решить эту проблему?

Для справки: я не хочу использовать Fluentvalidation.net, я хочу придерживаться стандартных проверок MVC (по большей части).

Это было полезно?

Решение

Измените регистрацию провайдера на

родовое слово

Другие советы

Есть другой способ (точно работает в MVC 4):

Найдите свой класс, который наследует интерфейс IdependencyResolver, и добавьте в конструктор _kernel.Unbind<ModelValidatorProvider>(); - вы просто отключаете валидатор ninject, и не должно быть столкновения с валидатором по умолчанию.

В моем случае мой конструктор выглядит так:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top