The validator was added as a security measure because all Web APIs accept XML by default. And because the XML formatter doesn't raise model state errors for missing required members, you could end up in a situation where a required member was missing and yet the model state was valid.
With that said, this behavior has caused a lot more trouble than it's worth. So it is gone in the current nightly builds, and it won't be there in the next version of Web API. In the meantime, you can disable it with this line:
config.Services.RemoveAll(typeof(System.Web.Http.Validation.ModelValidatorProvider),v => v is InvalidModelValidatorProvider);