首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate验证器:如何处理翻转?(28/14/2009变成28/2/2010)

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

Stack Overflow用户
提问于 2010-12-10 00:02:25
回答 1查看 214关注 0票数 1

我正在使用hibernate验证器来验证我的表单。我遇到了一个“问题”,第14个月的第9个月变成了第二年的第2个月。(只是一个场景的示例)。

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

有没有人知道如果我的自定义编辑器抛出一个IllegalArgumentException,我如何显示一条合适的消息?

代码语言:javascript
复制
@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在绑定方面有一些问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-10 00:21:43

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

代码语言:javascript
复制
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
df.setLenient(false);
CustomDateEditor editor = new CustomDateEditor(df, true); 
binder.registerCustomEditor(Date.class, editor); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4400291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档