2010-04-13 34 views
4

我想使用属性(例如RequiredAttribute和RangeAttribute)在我的模型上本地化我的错误消息。我在Visual Studio 2010中使用ASP.NET MVC2。自定义MVC错误消息本地化

如果我的本地化资源位于resx资源文件中,使用ErrorMessageResourceName和ErrorMessageResourceType ...这很容易...但是,我需要将它与自定义集成本地化框架。

我在web.config中的全球化部分设置了resourceProviderFactoryType,但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如何检索错误信息显示?

感谢 ķ

回答