Question

J'ai un DataAnnotationsModelValidatorProvider personnalisé pour faire la validation des modèles d'une manière plus dynamique alors que l'ajout d'attributs. J'ai essayé d'ajouter mon fournir aux Global.asax.cs comme ceci:

ModelValidatorProviders.Providers.Clear();
ModelValidatorProviders.Providers.Add(new AttributeValidatorProvider());

Mais une fois que je charge ma forme, je reçois une erreur « noms de type validation dans les règles de validation discrète client doit être unique Le type de validation suivante a été vu plus d'une fois. Nécessaire ».

Selon un commentaire sur ce blog , c'est parce que Ninject est prépondérant des fournisseurs de validateur personnalisé.

Je suis assez nouveau pour MVC et je ne peux pas sembler trouver un moyen de dire Ninject d'accepter mes fournisseurs personnalisés ainsi, comment pourrais-je aller sur régler ce problème?

Pour mémoire: Je ne veux pas utiliser Fluentvalidation.net, je veux rester avec les validations par défaut MVC (pour la plupart)

.
Était-ce utile?

La solution

Modifier l'enregistrement du fournisseur à

Rebind<ModelValidatorProvider>().To<AttributeValidatorProvider>();

Autres conseils

Il y a une autre façon (fonctionne dans MVC 4 pour sûr):

Trouvez votre classe qui interface IdependencyResolver Hériter et ajouter au constructeur _kernel.Unbind<ModelValidatorProvider>(); -. Vous venez unbind validateur ninject et il ne devrait pas être colission avec validateur par défaut

Dans mon cas, mon apparence constructeur comme ceci:

public NinjectDependencyResolver()
{
       _kernel = new StandardKernel();
       _kernel.Unbind<ModelValidatorProvider>();
       AddBindings();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top