4 Stimmen

Benutzerdefinierte MVC-Fehlermeldung Lokalisierung

Ich möchte meine Fehlermeldungen in meinem Modell mithilfe von Attributen, wie RequiredAttribute und RangeAttribute, lokalisieren. Ich verwende ASP.NET MVC2 in Visual Studio 2010.

Dies ist wirklich einfach, wenn meine lokalisierten Ressourcen in resx-Ressourcendateien waren... mit ErrorMessageResourceName und ErrorMessageResourceType... jedoch muss ich es gegen eine benutzerdefinierte Lokalisierung-Framework zu integrieren.

Ich habe die resourceProviderFactoryType auf die Globalisierung Abschnitt in web.config festgelegt, aber MVC verwendet dies nicht. Es versucht, eine statische Eigenschaft auf eine Ressourcendatei zuzugreifen, die die lokalisierte Zeichenfolge zurückgibt.

Dies ist der Aufrufstapel...

System.ComponentModel.DataAnnotations.ValidationAttribute.SetResourceAccessorByPropertyLookup() +56576
   System.ComponentModel.DataAnnotations.ValidationAttribute.SetupResourceAccessor() +146
   System.ComponentModel.DataAnnotations.ValidationAttribute.get_ErrorMessageString() +12
   System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(String name) +33
   System.Web.Mvc.DataAnnotationsModelValidator.get_ErrorMessage() +31
   System.Web.Mvc.RequiredAttributeAdapter.GetClientValidationRules() +46
   System.Web.Mvc.Html.ValidationExtensions.<ApplyFieldValidationMetadata>b__0(ModelValidator v) +10
   System.Linq.<SelectManyIterator>d__14`2.MoveNext() +238
   System.Web.Mvc.Html.ValidationExtensions.ApplyFieldValidationMetadata(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String modelName) +207
   System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary`2 htmlAttributes) +527
   System.Web.Mvc.Html.ValidationExtensions.ValidationMessageFor(HtmlHelper`1 htmlHelper, Expression`1 expression, String validationMessage, IDictionary`2 htmlAttributes) +82
   System.Web.Mvc.Html.ValidationExtensions.ValidationMessageFor(HtmlHelper`1 htmlHelper, Expression`1 expression) +75

Weiß jemand, wenn es möglich ist, für mich irgendwie überschreiben, wie MVC die Fehlermeldung zur Anzeige abruft?

danke k

2voto

xspydr Punkte 2964

Ich würde ein benutzerdefiniertes Klassenattribut erstellen, das vom standardmäßigen Mvc HandleError-Klassenattribut erbt...

http://blog.dantup.com/2009/04/aspnet-mvc-handleerror-attribute-custom.html

0voto

JeremyWeir Punkte 23702

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X