【发布时间】:2014-04-16 15:33:16
【问题描述】:
我们有一个客户和地址域类的情况,例如:
客户:
@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?
【问题讨论】:
标签: java bean-validation hibernate-validator