2009-08-05 53 views
3

我有一个名为父类的命令如下:Spring-MVC基于注释的bean验证是否支持基于集合的属性? (Spring的MVC)

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属性工作?如果是这样,我该如何使用它?

问候,

回答

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); 
+0

它确实春MVC支持? – 2009-08-05 22:42:39

+1

你可以这样做: 为(ConstraintViolation 约束:验证()验证(父)){ \t bindingResult.rejectValue(constraint.getPropertyPath(),空,constraint.getMessage()); } – 2009-08-06 10:01:27

+0

特兰克你,尼尔斯。我会接受你的建议。给予好评。问候 – 2009-08-07 05:26:40