gpt4 book ai didi

java - 使用 Bean Validation 对字段进行可选的多个相同约束

转载 作者:行者123 更新时间:2023-12-02 07:45:41 25 4
gpt4 key购买 nike

我正在尝试使用 Hibernate validator 在插入数据库之前验证 POJO。

bean 中有一个字段,长度可以是 8 或 10。

我尝试使用内置约束List将它们放在一起,期望其中一个条件通过而不是验证通过。

@Length.List({@Length(min=8, max=8,message="Code is either 8 or 10 characters in length"),@Length(min=10, max=10,message="Code is either 8 or 10 characters in length")})
public String getCode() {
return this.code;
}

但是,结果显示列表中的所有条件都必须通过才能使其有效。所以我想知道是否有办法将其改为 OR 检查。

最佳答案

我认为这个注释的工作方式是这样的:

@Length(min = 8, max = 10)  
public String getCode() {
return code;
}

换句话说 9 也将被接受为有效,这不是您想要的。我不确定是否有办法在 Hibernate 注释中对它们进行两次验证和 OR 操作。

看起来您可以使用 @Pattern 验证来实现:

@Pattern(regexp="(.{8}|.{10})", message="Should either be 8 or 10 characters")
public String getCode() {
return code;
}

关于java - 使用 Bean Validation 对字段进行可选的多个相同约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896458/

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