.net - 如何关闭或替换Asp.net MVC中的默认ModelState错误消息?

标签 .net asp.net-mvc model

我有一个 Controller 操作,该操作具有一个可为空的DateTime作为参数,该参数来自表单上的文本框。我注意到,如果用户在该文本框中键入“blah”,那么我将获得DateTime参数的Null值并自动添加模型错误。在这种情况下,添加的ModelState错误为“值'blah'无效”。

我的问题是我的网站支持多种语言,因此我需要本地化此错误。通常,我只是自己验证并添加ModelState错误,但在这种情况下,我似乎无法摆脱它。如果我为同一文本框添加另一个ModelState错误,则不会显示。

最佳答案

我必须完全不同意您到目前为止收到的所有答案。他们中没有一个真正回答您提出的问题,即如何本地化MVC错误消息。您可能需要花很多精力来解决该问题的单个实例,并且如果您实际上并未本地化应用程序,则在其他50种MVC错误消息的情况下仍然会遇到相同的问题。它们在MvcResources.resx中定义,该文件位于MVC源代码的Resources文件夹中(或仅使用Reflector浏览程序集)。特别是,您正在寻找Common_ValueNotValidForProperty资源。您可以通过本地化的附属程序集来本地化这些消息,就像本地化任何.NET应用程序一样。 .NET应用程序中的国际化/本地化的细节不在此答案的范围内,但是有很多关于该主题的书。在MVC中执行此操作与在任何其他应用程序中执行此操作没有什么不同,除了在大多数情况下,该框架的本地化已经可用。 MVC仍处于测试阶段,据我所知,目前仅英语。据推测,这将在发布后发生变化。

关于.net - 如何关闭或替换Asp.net MVC中的默认ModelState错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/549874/

相关文章:

c# - DataGridView 不在 ToolStripDropDown 中显示数据

c# - 系统字体为 125% 时奇怪的文本缩放

javascript - 单击按钮时防止默认值不随机工作

c# - ASP.NET MVC 5 Bootstrap 按钮移动到另一个 View 页面

java - @ModelAttribute在Spring框架中如何工作?

python - 获取错误 AttributeError : 'bool' object has no attribute 'transpose' when attempting to fit machine learning model

php - 字符串中具有特殊字符的 Laravel 种子数据库

c# - ng-grid 的水平滚动 - 2.0.11

c# - 在 AccountController 之外配置 UserManager 和 UserStore?

.net - .NET消息框中的自定义按钮标题?