Как указать пользовательское сообщение об ошибке проверки в SimpleDateFormat с помощью Spring MVC
В моем приложении Smpring MVC я проверяю даты, используя SimpleDateFormat в качестве пользовательского редактора в WebDataBinder. Когда введенная дата не соответствует требуемому шаблону, я получаю необработанное сообщение об ошибке в моей форме: тег ошибки как:
Failed to convert property value of type java.lang.String to required type java.util.Date for property hireDate; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "432345"
Моя проблема заключается в том, что я хочу отобразить на странице JSP пользовательское сообщение об ошибке что-то вроде:
"Дата рождения должна соответствовать шаблону" дд / мм / гггг ""
Вот код моего @InitBinder:
@InitBinder
protected void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
Благодарю.
2 ответа
Попробуйте зарегистрировать следующее сообщение в вашем комплекте сообщений:
typeMismatch.command.field=Date of birth must match "dd/MM/yyyy" pattern
or
typeMismatch.field = ...
замените команду и поле соответствующим объектом команды
Более подробная информация здесь: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/DefaultMessageCodesResolver.html
Это может быть не то, что вы ищете, но в наших командах мы используем строки для (почти) всех наших атрибутов.
Затем мы выполняем проверку этих строк, чтобы определить, станут ли они типом данных, на который мы надеемся получить доступ к команде.