I have a model that contains value types (e.g. bool, DateTime, enums, etc) and I've marked the properties with the [Required] attribute.
I load the page, don't supply a value for anything, and submit the form. Client-side validation is turned off. Obviously the ModelState is invalid.
When the form is returned to the client however, these fields are populated with the type's default value (e.g. false, DateTime.MinValue, the first enum value, etc). This is not really what I want, I want the fields to stay empty.
Currently I'm getting round this by making the properties nullable (e.g. bool?). Is this the "correct" thing to do? Or should I be doing something else to ensure that MVC isn't automatically populating value-type properties with the default value?