I had the same issue, and I finally managed to find the solution. Yes, that message can be localized, and luckily it's pretty easy when you figure it out.
You have to create a resource file and put it in the App_GlobalResources
folder. You can call the file whatever you want, but I usually call it MvcValidationMessages.
Open the resource file and create a string with the name InvalidPropertyValue
and write whatever message you want in the value field.
Now, open the Global.asax file and add the following line to the method Application_Start()
:
System.Web.Mvc.Html.ValidationExtensions.ResourceClassKey = "MvcValidationMessages";
"MvcValidationMessages" should of course be the correct name of the resource file you just created.
And voíla! That's all there is to it. The message shown will now be your own instead of the default one.