asp.net MVC3 DefaultModelBinder错误消息键

时间:2011-08-31 16:41:47

标签: asp.net asp.net-mvc-3 resources localization

在stackoverflow和其他网站上有很多关于翻译DefaultModelBinder提供的默认错误消息的问题(和答案),例如this onethis one

这些问题的所有答案基本上都是为了在App_GlobalResources下创建一个ressource(resx)文件,并为“PropertyValueInvalid”添加一条消息。

没关系, 有效,但还有其他消息(例如“值xxx必须是数字”),最大的问题是:在地狱中我可以有一个用于模型绑定验证的消息密钥列表,以及它们用于上下文的描述,以便我可以翻译它们吗?

1 个答案:

答案 0 :(得分:8)

在Application_Start方法中设置DefaultModelBinder.ResourceClassKey = "ResourceFileName";时,DefaultModelBinder类使用的是Asp.Net MVC使用的资源文件中定义的其他资源键。

在反汇编DefaultModelBinder时,有一个方法GetUserResourceString从自定义资源文件中读取。只使用这些消息键调用此函数两次:

  • PropertyValueRequired (需要值。)
  • PropertyValueInvalid (值“{0}”对{1}无效。)

这些是可以为MVC3中的DefaultModelBinder设置的唯一消息。