Подтвердить что ты не робот

Как изменить сообщение об ошибке проверки по умолчанию в ASP.NET MVC?

Скажем, у меня есть это свойство в моей модели:

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

когда вы введете "asdf" в Html.TextBoxFor(model => model.SomeDate), вы получите сообщение об ошибке проверки "Значение" asdf "недействительно для теста.".

Как вы изменяете это сообщение? ASP.NET MVC игнорируется [DataType(DataType.DateTime, ErrorMessage = 'some other message')]

4b9b3361

Ответ 1

По-видимому, на мой вопрос уже был ответ на Как заменить сообщение об ошибке ModelState по умолчанию в Asp.net MVC 2?.

Я опишу его здесь:

  • Создайте папку App_GlobalResources для своего проекта (щелкните правой кнопкой мыши для проекта → Добавить → Добавить папку ASP.NET → App_GlobalResources).
  • Добавить файл resx в эту папку. Скажите MyNewResource.resx.
  • Добавить ключ ресурса PropertyValueInvalid с желаемым форматом сообщения (например, "content {0} недействителен для поля {1}" ). Если вы хотите изменить PropertyValueRequired, тоже добавьте его.
  • Добавьте код DefaultModelBinder.ResourceClassKey = "MyNewResource" в свой код запуска Global.asax.

Вы все настроены.