2010-04-13 4 views
4

Я хочу локализовать свои сообщения об ошибках в своей модели, используя атрибуты, такие как RequiredAttribute и RangeAttribute. Я использую ASP.NET MVC2 в Visual Studio 2010.Пользовательская локализация сообщений об ошибках MVC

Это действительно легко, если мои локализованные ресурсы были в файлах ресурсов resx ... с использованием ErrorMessageResourceName и ErrorMessageResourceType ... однако мне нужно интегрировать его с пользовательским локализации.

Я установил resourceProviderFactoryType в разделе глобализации в web.config, но MVC не использует это. Он пытается получить доступ к статическому свойству в файле ресурсов, который возвращает локализованную строку.

Это стек вызовов ...

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 

Кто-нибудь знает, если это возможно для меня, чтобы каким-то образом переопределить как MVC получает сообщение об ошибке для отображения?

благодаря к

ответ