【问题标题】:How can I do a regex pattern for Hibernate validation?如何为 Hibernate 验证做一个正则表达式模式?
【发布时间】:2020-06-01 14:53:17
【问题描述】:

我想使用带有Hibernate 验证的正则表达式@Pattern。我该如何做这个正则表达式?

[a][b][c][d][e] 是一个 13 位数字,如下所示:1831222132132

a - one digit, 1 or 2, nothing else;
b - from 01 to 99, it is the last 2 digits from the year, for ex 1983 => b = 83;
c - from 01 to 12;
d - from 01 to 31;
e - 6 digits;

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: java regex hibernate hibernate-validator


    【解决方案1】:

    要验证在 Hibernate 中您可以像这样使用 @Pattern 注释

    @Column(name = "myInpt")
    @Pattern(regexp = "^[12](0[1-9]|[1-9][0-9])(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])([0-9]{6})$", message = "Incorrect format")
    private String myInput;
    

    【讨论】:

    • 谢谢!您能告诉我如何在响应正文中显示错误消息吗?现在消息为空 { "timestamp": "2020-06-03T17:20:20.721+00:00", "status": 400, "error": "Bad Request", "message": "", "path ": "/ibantoiban" }
    • 在你的控制器中,你应该使用@valid注解。此外,请确保不会覆盖代码中异常处理的默认行为。代码示例:
    • @PostMapping("/zzz") public ResponseEntity addzzz(@Valid @RequestBody ZZZ zzz)
    猜你喜欢
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 2015-05-14
    • 2019-08-03
    相关资源
    最近更新 更多