在我的Smpring MVC应用程序中,我使用SimpleDateFormat作为WebDataBinder中的自定义编辑器来验证日期。当输入日期与所需模式不匹配时,我会在表单中收到原始错误消息:errors标记如:
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页面上显示自定义错误信息,如:
“出生日期必须符合”dd / MM / yyyy“模式”
以下是我的@InitBinder的代码:
@InitBinder
protected void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
感谢。
答案 0 :(得分:3)
尝试在邮件包中注册以下邮件:
typeMismatch.command.field=Date of birth must match "dd/MM/yyyy" pattern
or
typeMismatch.field = ...
用适当的命令对象替换命令和字段
答案 1 :(得分:0)
这可能不是您正在寻找的东西,但在我们的命令中,我们使用字符串(几乎)所有属性。
然后我们对这些字符串执行验证,看看它们是否会成为我们在访问命令时希望的数据类型。