2 votes

Comment puis-je localiser les messages/exceptions de validation intégrés à Entity Framework ?

Outre le mécanisme de validation basé sur les annotations, EF propose des "facettes". Par exemple, pour une propriété de type chaîne de caractères, vous pouvez avoir une facette "Longueur maximale" (via la configuration du modèle EF) où vous spécifiez une longueur maximale de 80 caractères. Le plus souvent, cela est fait automatiquement par EF lorsque vous utilisez une approche de type base de données.

Si maintenant la propriété contient plus que le nombre de caractères spécifié, EF lancera un DbEntityValidationResult avec le message suivant

[PropName] : Le champ [PropName] doit être une chaîne ou un tableau d'une longueur maximale de '80'.

Ma question : Comment puis-je localiser un tel message ??? J'en aurais besoin en allemand et en italien également...

1voto

splattne Points 48126

Maarten Balliauw a écrit un blog à ce sujet :

Localiser les messages de validation des DataAnnotations d'ASP.NET MVC 2

Mettez à jour vos classes pour utiliser le ErrorMessageResourceType y ErrorMessageResourceName au lieu du paramètre ErrorMessage que vous passez normalement.

Vous pouvez également localiser vos DisplayNameAttributes ; voici un article de Stackoverflow qui explique comment le faire : Localisation de l'attribut DisplayNameAttribute

Mise à jour

Je pense que si vous installez le .NET Framework Language Pack, ces messages standard devraient être traduits pour vous.

Une mise en garde (cela m'est arrivé) : Les messages de validation localisés d'ASP.NET MVC 3 fonctionnent sur mon ordinateur, mais pas sur le serveur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X