J'essaie actuellement de trouver comment localiser les messages d'erreur générés par MVC. Permettez-moi d'utiliser le classeur par défaut comme exemple, afin que je puisse expliquer le problème.Localisation MVC du lieur de modèle par défaut
En supposant que j'ai un formulaire, où un utilisateur entre leur âge. L'utilisateur entre alors "dix" dans le formulaire, mais au lieu d'obtenir l'erreur attendue de
"L'âge doit être compris entre 18 et 25."
le message
"La valeur 'dix' est pas valable pour l'âge."
est affiché.
propriété L'âge de l'entité est définie ci-dessous:
[Range(18, 25, ErrorMessageResourceType = typeof (Errors),
ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]
public int Age { get; set; }
Après quelques recherches, je constate que ce texte d'erreur provient du System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid
dans le fichier MvcResources.resx
.
Maintenant, comment créer des versions localisées de ce fichier?
Comme solution, par exemple, devrais-je télécharger la source MVC et ajoutez MvcResources.en_GB.resx
, MvcResources.fr_FR.resx
, MvcResources.es_ES.resx
et MvcResources.de_DE.resx
, puis compiler ma propre version de MVC.dll
?
Mais je n'aime pas cette idée. Quelqu'un d'autre sait-il un meilleur moyen?
Un bon blog à ce sujet est aussi ici: http://bradwilson.typepad.com/blog/2010/01/input- validation-vs-model-validation-in-aspnet-mvc.html –