Hibernate验证器:如何处理翻转? (28/14/2009成为28/2/2010)

时间:2010-12-09 16:02:25

标签: spring-mvc hibernate-validator

我正在使用hibernate验证器来验证我的表单。 我有#34;问题"第14个月的第9个月成为第二个月的第二个月。 (仅举例说明一个场景)。

我想知道如何阻止默认转换,而是显示自定义错误消息。

如果我的自定义编辑器抛出IllegalArgumentException,是否有人也知道如何显示一条赞成消息?

@InitBinder
    public void initBinder(WebDataBinder binder) {
        CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("dd/MM/yyyy"), true);
        binder.registerCustomEditor(Date.class, editor);
    }

我注册了一个customEditor,因为spring-portlet-mvc在绑定方面存在一些问题。

1 个答案:

答案 0 :(得分:2)

此行为由DateFormat.setLenient()控制,与验证无关(使用setLentient(false)它会在绑定阶段产生类型不匹配错误):

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
df.setLenient(false);
CustomDateEditor editor = new CustomDateEditor(df, true); 
binder.registerCustomEditor(Date.class, editor);