La route par défaut à prendre est avec les ressources. Cependant, je comprends votre douleur :) La façon dont j'ai réussi est un peu inhabituel, mais je vais vous donner un aperçu rapide. Dans notre projet, l'utilisation de fichiers de ressources n'est pas une option car elle est trop limitée pour nos objectifs, dont je ne vous ennuierai pas maintenant! :) À son principe le plus élémentaire, nous définissons la propriété errorMessage de l'attribut de validation sur une sorte de «clé», puis nous l'utilisons simplement comme un moyen de rechercher la réponse correcte (langagière) dans notre base de données CMS, lorsque la validation échoue (dans notre cas en utilisant MVC, quand nous mettons à jour le modèle et vérifions l'état - tout au niveau du contrôleur). Ceci est le même principe que l'utilisation des ressources (en spécifiant "ErrorMessageResourceName" et "ErrorMessageResourceType"), mais vous pouvez en faire ce que vous voulez. Pour être clair, nous avons à l'origine étendu le RequiredAttribute (à titre d'exemple) avec nos propres éléments, y compris en mettant des arguments correctement nommés pour nous permettre d'extraire une valeur CMS dans la base de données plus tard. Pour être plus précis, nous utilisons MVC et HtmlHelpers personnalisés pour afficher nos propres ValidationControls, qui consomment en fin de compte les valeurs personnalisées de nos annotations personnalisées, etc. - Rien de tout cela n'affecte cependant le principe de l'abaissement. Utilisez "errorMessage", ou quelque chose comme ça, comme un moyen de rechercher le message réel d'où vous voulez, et quand vous voulez.
Puis-je hériter de la classe requiredAttribute? – Masna
Woops, je pense que j'ai raté le point de votre question ... Désolé. Bien que, non, généralement vous ne pourrez pas prolonger une implémentation d'attribut puisque par convention ils sont marqués comme scellés. – Reddog
Les propriétés sur les attributs devront être des constantes fixes car elles sont compilées dans la bibliothèque. Le premier lien par @Leniel montre comment j'accomplirais ce que vous voulez - via des fichiers de ressources. – Reddog