Bean Validation不适用于多个bean类

时间:2015-06-03 11:25:14

标签: java bean-validation

我有一个名为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和我正在调用的主要类中添加了一些验证注释

Set<ConstraintViolation<Car>> violations = validator
                                .validate(exchange.getIn().getBody(Car.class));

验证字段。现在Car.java中的字段正在完美验证,但Maruti.java中的注释不起作用。谁能告诉我为什么?

1 个答案:

答案 0 :(得分:1)

您需要使用maruti

@Valid字段或属性添加注释