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

时间:2011-06-02 11:42:35

标签: asp.net-mvc asp.net-mvc-2 data-annotations

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

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

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

如何修改该邮件? ASP.NET MVC忽略了[DataType(DataType.DateTime, ErrorMessage = 'some other message')]

3 个答案:

答案 0 :(得分:28)

显然我的问题已在How to replace the default ModelState error message in Asp.net MVC 2?得到解答。

我在这里总结一下:

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

你们已经准备好了。

答案 1 :(得分:2)

答案 2 :(得分:1)