如何在ASP.NET MVC中更改默认验证错误消息?

Sed*_*glu 28 asp.net-mvc data-annotations asp.net-mvc-2

说我的模型中有这个属性:

[DisplayName("test")]
[Required(ErrorMessage = "required")]
public DateTime? SomeDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

当您输入"asdf"时Html.TextBoxFor(model => model.SomeDate),您会收到验证错误消息"值'asdf'对测试无效.".

你如何修改那条消息?ASP.NET MVC被忽略了[DataType(DataType.DateTime, ErrorMessage = 'some other message')]

Sed*_*glu 28

显然我的问题已在如何替换Asp.net MVC 2中的默认ModelState错误消息中得到解答.

我在这里总结一下:

  • 为项目创建App_GlobalResources文件夹(右键单击项目 - >添加 - >添加ASP.NET文件夹 - > App_GlobalResources).
  • 在该文件夹中添加resx文件.说MyNewResource.resx.
  • 添加PropertyValueInvalid具有所需消息格式的资源密钥(例如,"内容{0}对于字段{1}无效").如果你想改变PropertyValueRequired也添加它.
  • 将代码添加DefaultModelBinder.ResourceClassKey = "MyNewResource"到Global.asax启动代码中.

你们都准备好了.

  • 它太重了,我们需要为此添加resx文件.:( (3认同)
  • 有帮助,thx.似乎即使在MVC3中这个问题也没有解决,这很难过.那么ErrorMessage for DataType属性有什么作用呢? (2认同)