gpt4 book ai didi

java - 有没有办法有条件地跳过验证 bean 字段?

转载 作者:行者123 更新时间:2023-12-01 13:08:17 25 4
gpt4 key购买 nike

我们的情况是,我们有一个客户和地址域类,例如:

客户:

@NotNull
private Long id;

@NotBlank
@Length(max = 100)
private String name;

@NotNull
@Valid
private Address homeAddress;

@Valid
private Address deliveryAddress;

地址:

@NotBlank
@Length(max = 100)
private String streetname;

@NotBlank
@Length(max = 10)
private String housenumber;

@Length(max = 10)
private String housenumberExtension;

@NotBlank
@Pattern(regexp = "[0-9]{4}[A-Z]{2}")
private String postcode;

@NotBlank
@Length(max = 100)
private String city;

它使用 @Valid 注释来验证整个客户图表,包括子地址字段。

我们的情况是,我们只想验证地址字段(如果它有非空字段)。所以例如如果所有 customer.homeAddress 字段都为空,应该没问题,不会导致验证错误。

我知道最好将 homeAddress 设置为 null 以跳过验证。但我们使用的是旧的域模型,但情况并非如此(而且我们无法更改它)。无论如何,我们正在尝试合并 java.validation 注释。

我想知道我们是否可以在类级别应用(自定义)注释,这可以强制验证 api 跳过该 bean?

最佳答案

我认为在类级别应用自定义注释是进行此验证的好方法。你可以看到Hibernate-Validator了解如何执行此操作。

希望对你有帮助谨致问候。

关于java - 有没有办法有条件地跳过验证 bean 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23102590/

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