【问题标题】:Does Spring-MVC annotation based bean validation support for collection-based property ? (Spring-MVC)基于 Spring-MVC 注释的 bean 验证是否支持基于集合的属性? (Spring-MVC)
【发布时间】:2010-11-17 04:28:15
【问题描述】:

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

问候,

【问题讨论】:

    标签: java spring spring-mvc validation


    【解决方案1】:

    使用 Hibernate Validator 4.0.0 Beta2,您可以。

    它基于 JSR-303 Bean Validation。

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

    @Valid
    private List<Child> childList;
    

    现在验证:

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

    【讨论】:

    • Spring-MVC 是否支持它?
    • 你可以这样做: for(ConstraintViolation 约束 : validator().validate(parent)) { bindingResult.rejectValue(constraint.getPropertyPath(), null, constraint.getMessage()); }
    猜你喜欢
    • 1970-01-01
    • 2013-05-14
    • 2015-07-11
    • 2011-11-23
    • 2020-02-04
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多