One obvious solution: take in a String, convert to Date yourself. That way you can define format you want, catch exceptions and either re-throw or customize error being sent. For parsing, SimpleDateFormat should work fine.
I am sure there are ways to hook handlers for data types too, but perhaps little bit of simple code is all you need in this case.