spring mvc annotation server side validation, not easy to use, especially for custom validation