Say I have this property in my model:
[DisplayName("test")]
[Required(ErrorMessage = "required")]
public DateTime? SomeDate { get; set; }
when you type in "asdf" in Html.TextBoxFor(model => model.SomeDate)
, you get the validation error message "The value 'asdf' is not valid for test.".
How do you modify that message? ASP.NET MVC ignored [DataType(DataType.DateTime, ErrorMessage = 'some other message')]
Sedat Kapanoglu
Apparently my question was already answered at How to replace the default ModelState error message in Asp.net MVC 2? .
I'll summarize it here:
- Create App_GlobalResources folder for your project (right click to project -> Add -> Add ASP.NET folder -> App_GlobalResources).
- Add a resx file in that folder. Say
MyNewResource.resx
. - Add resource key
PropertyValueInvalid
with the desired message format (e.g. "content {0} is invalid for field {1}"). If you want to changePropertyValueRequired
too add it as well. - Add the code
DefaultModelBinder.ResourceClassKey = "MyNewResource"
to your Global.asax startup code.
You're all set.
takepara
Asp.Net MVC 2 - Changing the PropertyValueRequired string
this is global setting change.
来源:https://stackoverflow.com/questions/6214066/how-to-change-default-validation-error-message-in-asp-net-mvc