我有一个控制器动作,它有一个可以为空的DateTime作为来自我表单上的文本框的参数之一.我注意到如果用户在该文本框中输入"blah",那么我将获得DateTime参数的Null值,并自动添加模型错误.在这种情况下,添加的ModelState错误是"值'blah'无效".
我的问题是我的网站支持多种语言,因此我需要本地化此错误.通常我只是验证并自己添加ModelState错误,但在这种情况下我似乎无法摆脱它.如果我为同一个文本框添加另一个ModelState错误,则它不会显示.
我不得不强烈反对你到目前为止收到的所有答案.他们都没有真正回答你问的问题,这是如何本地化MVC错误消息.您可能需要花费大量精力解决此问题的单个实例,如果您实际上没有本地化您的应用程序,则仍然会遇到其他50个MVC错误消息的问题.它们在MvcResources.resx中定义,它位于MVC源代码的Resources文件夹中(或者只是使用Reflector浏览程序集).特别是,你正在寻找Common_ValueNotValidForProperty
资源.您可以通过提供本地化的附属程序集来本地化这些消息,就像您本地化任何.NET应用程序一样..NET应用程序中的国际化/本地化的细节超出了本答案的范围,但是有很多关于这个主题的书籍.在MVC中执行此操作与在任何其他应用程序中执行此操作没有什么不同,除了在大多数情况下,框架的本地化已经可用.MVC仍处于测试阶段,据我所知,目前只有英语版本.据推测,这将在发布后发生变化.