Bean 验证不适用于多个 bean 类
Bean Validation not working for multiple bean classes
我有一个名为 Car.java 的 bean,它具有以下字段:
private String name;
private String company;
private Maruti maruti;
@NotNull
@NotEmpty
@Size(min=5)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@NotNull
@NotEmpty
@Size(min=6)
public Maruti getMaruti() {
return maruti;
}
public void setMaruti(Maruti maruti) {
this.maruti = maruti;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
其中 Maruti.java 是另一个具有以下字段的 bean:
private String car_name;
private String car_model;
@NotNull
@NotEmpty
@Size(min=6)
public String getCar_name() {
return car_name;
}
public void setCar_name(String car_name) {
this.car_name = car_name;
}
我在 bean 和我的 main class 中添加了一些用于验证的注释,我正在调用
Set<ConstraintViolation<Car>> violations = validator
.validate(exchange.getIn().getBody(Car.class));
验证字段。现在 Car.java 中的字段得到了完美的验证,但是 Maruti.java 中的注释不起作用。谁能告诉我为什么?
您需要用 @Valid
注释 maruti
字段或 属性
我有一个名为 Car.java 的 bean,它具有以下字段:
private String name;
private String company;
private Maruti maruti;
@NotNull
@NotEmpty
@Size(min=5)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@NotNull
@NotEmpty
@Size(min=6)
public Maruti getMaruti() {
return maruti;
}
public void setMaruti(Maruti maruti) {
this.maruti = maruti;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
其中 Maruti.java 是另一个具有以下字段的 bean:
private String car_name;
private String car_model;
@NotNull
@NotEmpty
@Size(min=6)
public String getCar_name() {
return car_name;
}
public void setCar_name(String car_name) {
this.car_name = car_name;
}
我在 bean 和我的 main class 中添加了一些用于验证的注释,我正在调用
Set<ConstraintViolation<Car>> violations = validator
.validate(exchange.getIn().getBody(Car.class));
验证字段。现在 Car.java 中的字段得到了完美的验证,但是 Maruti.java 中的注释不起作用。谁能告诉我为什么?
您需要用 @Valid
maruti
字段或 属性