web-dev-qa-db-fra.com

Comment changer le message d'erreur de validation par défaut dans ASP.NET MVC?

Disons que j'ai cette propriété dans mon modèle:

[DisplayName("test")]
[Required(ErrorMessage = "required")]
public DateTime? SomeDate { get; set; }

lorsque vous tapez "asdf" dans Html.TextBoxFor(model => model.SomeDate), vous obtenez le message d'erreur de validation "La valeur 'asdf' n'est pas valide pour le test.".

Comment modifiez-vous ce message? ASP.NET MVC ignoré [DataType(DataType.DateTime, ErrorMessage = 'some other message')]

28
Sedat Kapanoglu

Apparemment, ma question a déjà été répondue à Comment remplacer le message d'erreur ModelState par défaut dans Asp.net MVC 2? .

Je vais le résumer ici:

  • Créez le dossier App_GlobalResources pour votre projet (clic droit pour projeter -> Ajouter -> Ajouter le dossier ASP.NET -> App_GlobalResources).
  • Ajoutez un fichier resx dans ce dossier. Dire MyNewResource.resx.
  • Ajoutez la clé de ressource PropertyValueInvalid avec le format de message souhaité (par exemple, "le contenu {0} n'est pas valide pour le champ {1}"). Si vous souhaitez également modifier PropertyValueRequired, ajoutez-le également.
  • Ajoutez le code DefaultModelBinder.ResourceClassKey = "MyNewResource" à votre code de démarrage Global.asax.

Vous êtes prêt.

28
Sedat Kapanoglu

Asp.Net MVC 2 - Modification de la chaîne PropertyValueRequired

il s'agit d'un changement de paramètre global.

2
takepara
1
Simon Bartlett