如何在 Spring MVC 中使用自定义日期属性编辑器验证日期

发布于 2024-10-20 19:44:11 字数 355 浏览 2 评论 0原文

我已经在我的 java 类中创建了日期

,这是我在控制器中使用的代码,

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

我正在使用 JSR 注释和 hibernate 来验证其他字段。

有什么方法可以使用注释来验证日期必须仅采用 dd-mm-yyyy 格式

I have made the Date in in my java Class

and this is the code i have used in controller

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

i am usinng JSR annotations and hibernate to validate other fields.

Is there any way i can use annotations to validate that date must in dd-mm-yyyy format only

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

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

发布评论

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

评论(1

无法回应 2024-10-27 19:44:11

CustomDateEditor 本身不是验证器,但在这种情况下,它确实隐式验证您的模式:它只会使用您指定的格式将字符串解析为日期。因此,如果解析不成功,您将得到一个空值。

Spring 验证发生在绑定之后,因此任何验证都将在 Date 对象上执行(因此在解析该字符串之后),而不是在初始字符串上执行。

The CustomDateEditor is not a validator itself, but in this case it does implicitly validate your pattern: it will just parse a string to a date using the format you specified. So you'll get a null value if the parsing does not succeed.

Spring validation occurs after binding, so any validation will be performed on the Date object (so after that string is parsed), not on the initial string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文