I use custom action filter in asp.net mvc app to return http status code 422 and json list of validation errors (basically serialized model state dictionary) to client, wher
If web server is configured to pass through existing response, it will return json contents to browser.
MSDN: httpErrors Element [IIS Settings Schema]