我目前正试图找出如何本地化由MVC生成的错误消息。让我使用默认模型联编程序作为示例,以便我可以解释问题。默认模型绑定器的MVC本地化
假设我有一个表单,用户输入他们的年龄。用户然后输入“十”的形式,而不是得到预期的错误
“年龄必须介于18和25之间”。
消息
“值 '十' 是无效的年龄。”
被显示。
实体的年龄属性定义如下:
[Range(18, 25, ErrorMessageResourceType = typeof (Errors),
ErrorMessageResourceName = "Age", ErrorMessage = "Range_ErrorMessage")]
public int Age { get; set; }
一些挖后,我发现这个错误文本来自System.Web.Mvc.Resources.DefaultModelBinder_ValueInvalid
在MvcResources.resx
文件。
现在,如何创建本文件的本地化版本?
作为一种解决方案,例如,我应该下载MVC来源并添加MvcResources.en_GB.resx
,MvcResources.fr_FR.resx
,MvcResources.es_ES.resx
和MvcResources.de_DE.resx
,然后编译我自己的MVC.dll
版本?
但我不喜欢这个想法。任何人都知道更好的方法?
有关这方面的一个很好的博客也在这里:http://bradwilson.typepad.com/blog/2010/01/input- validation-vs-model-validation-in-aspnet-mvc.html – 2010-03-22 09:29:05