Hibernate 验证器:如何处理翻转? (2009年14月28日变为2010年2月28日)

发布于 2024-10-07 00:46:59 字数 475 浏览 2 评论 0原文

我正在使用休眠验证器来验证我的表单。 我遇到了“问题”,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 的绑定存在一些问题。

I'm using the hibernate validator to validate my forms.
I'm having the "problem" that the 9th of the 14th month becomes the second month in the next year. (just en example of a scenario).

I was wondering how I could prevent the default conversion and instead show a custom error message for it.

Does anyone also know how I can display an approperiate message if my custom editor throws an IllegalArgumentException?

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

I registred a customEditor because spring-portlet-mvc had some issues with the binding.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

享受孤独 2024-10-14 00:46:59

此行为由 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); 

This behaviour is controlled by DateFormat.setLenient() and has nothing to do with validation (with setLentient(false) it produces a type mismatch error at the binding phase):

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
df.setLenient(false);
CustomDateEditor editor = new CustomDateEditor(df, true); 
binder.registerCustomEditor(Date.class, editor); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文