Comment utiliser DataAnnotations ErrorMessageResourceName avec une solution de ressources personnalisée

Je construis une application web MVC avec C#. Puisque le site sera multilingue, j'ai implémenté mon propre ResourceManager. Cette classe est responsable de l'extraction des chaînes de ressources requises à partir d'une base de données/cache en fonction de la culture de thread courants et fonctionne bien jusqu'à présent.

Mon problème est que je voudrais utiliser la solution My Custom ResourceManager pour récupérer les messages d'erreur de validation lorsque, par exemple, j'utilise l'attribut Required sur une propriété. Cela peut-il être fait?

24
demandé sur Mats 2010-02-27 17:32:25

1 réponses

Le RequiredAttribute permet d'utiliser un personnalisés du gestionnaire de ressources du:

[Required(
    ErrorMessageResourceType = typeof(CustomResourceManager), 
    ErrorMessageResourceName = "ResourceKey")]
public string Username { get; set; }

Mise à jour:

Une Autre possibilité est d'écrire votre attribut personnalisé:

public class CustomRequiredAttribute : RequiredAttribute
{
    public override string FormatErrorMessage(string name)
    {
        return YourCustomResourceManager.GetResource(name);
    }
}
49
répondu Darin Dimitrov 2010-02-27 15:53:39