基于Spring-MVC注释的bean验证是否支持基于集合的属性? (Spring的MVC)

时间:2009-08-05 22:04:33

标签: java spring spring-mvc validation

我有一个名为Parent的命令类,如下所示:

public class Parent {

    private List<Child> childList;

    // getters and setters

}

根据

的儿童班
public class Child {

    @NotBlank
    private String name;

    @NotBlank
    private String email;

    @NotBlank
    private Integer age;

}

Spring validation module中,我注意到了一个@Cascade注释。

问题:它是否在childList属性中的基于集合的属性中有效?如果是这样,我该如何使用它?

的问候,

1 个答案:

答案 0 :(得分:3)

使用Hibernate Validator 4.0.0 Beta2,你可以。

它基于JSR-303 Bean验证。

使用@Valid注释您的列表以验证列表的内容

@Valid
private List<Child> childList;

现在验证:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Parent>> constraintViolations = validator.validate(Parent);