gpt4 book ai didi

java - Hibernate 正则表达式验证字段不起作用

转载 作者:行者123 更新时间:2023-12-02 01:35:59 25 4
gpt4 key购买 nike

我有一个简单的正则表达式,它应该只匹配字符串最后 4 个字符中的字母和数字:

([a-zA-Z0-9]{4}$)

它在 online tester 中完美运行,但如果我将它与字段上的 hibernate 验证注释一起使用,则不匹配:

@NotNull
@Length(min = 4, max = 25)
@Pattern(regexp = "([a-zA-Z0-9]{4}$)")
private String test;

例如,对于 1234.5678-abC2 字符串返回 false

你能帮我吗?

最佳答案

对于 future 的访问者,我会添加在主要 OP 评论中提供的 @hofan41 的回复。

You are assuming that the @Pattern annotation will return true if a substring regex match passes. If it isn't working then your assumption may not be true. Try adding .* in the beginning of your pattern string.

通过这种方式,bean 属性验证注释将如下所示:

@NotNull
@Length(min = 4, max = 25)
@Pattern(regexp = ".*([a-zA-Z0-9]{4}$)")
private String test;

关于java - Hibernate 正则表达式验证字段不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com