This is my solution. Tested on MVC 3 and MVC 4.
- Create App_GlobalResources folder in project (easy way is right click to project -> Add -> Add ASP.NET folder -> App_GlobalResource).
- Add a resx file to App_GlobalResources (e.g. YourResource.resx).
- Add resource key "PropertyValueInvalid". By default, the message is "The value {0} is not valid for {1}". You can change or translate whatever you want.
- Add the code DefaultModelBinder.ResourceClassKey = "YourResource" to Application_Start function in Global.asax.