12
[Required] 
[DisplayName("my date")] 
public DateTime? DateReg { get; set; } 

so, wenn der Benutzer in einem ungültigen Datetime-Wert übergeben wird er diese Nachricht erhalten wird „Der Wert '02 .07.201022' ist für mein Date nicht gültig.“localize Standardmodellvalidierung in Mvc 2

Wie kann ich diese Nachricht übersetzen/lokalisieren?

Antwort

15

hinzufügen Messages.resx in App_GlobalResources und in Application_Start in Global.asax:

PropertyValueInvalid:

DefaultModelBinder.ResourceClassKey = "Messages"; 

Dann in der Messages.resx Datei können Sie die folgende Zeichenfolge definieren Der Wert {0} ist für die Eigenschaft ungültig { 1}

Der Schlüssel muss PropertyValueInvalid genannt werden.

+0

woher kennst du das Zeug :)? – Omu

+2

Ich habe den ASP.NET-MVC-Quellcode durchgelesen (Danke an MS, um dies zu liefern), um ein besseres Verständnis der inneren Funktionsweise des Frameworks zu bekommen. –

+0

In meinen Tests habe ich festgestellt, dass Sie auch '[Erforderlich (ErrorMessageResourceType = typeof (Site.Models.Resources.Messages), ErrorMessageResourceName =" RequiredAttribute ")]' 'hinzufügen müssen. Ist das richtig? –