首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用hibernate-validator的编程API在列表上定义容器元素约束?

如何使用hibernate-validator的编程API在列表上定义容器元素约束?
EN

Stack Overflow用户
提问于 2020-12-02 00:55:43
回答 1查看 111关注 0票数 1

根据这些说明,我正在为hibernate验证器使用编程方法进行验证模式的工作,https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-programmatic-api

我设法验证了字符串对象(name)和嵌套对象(B)。

代码语言:javascript
复制
class A {
    private String name;
    private B item;
}

在Kotlin中,我有以下配置:

代码语言:javascript
复制
val hibernateValidatorConfiguration = Validation
    .byProvider(HibernateValidator::class.java)
    .configure()
val constraintMapping = hibernateValidatorConfiguration
    .createConstraintMapping()
constraintMapping
    .type(A::class.java)
         .property("name", ElementType.FIELD)
              .constraint(NotNullDef())
         .property("item", ElementType.FIELD)
              .valid()
    .type(B::class.java)
         // some validation constraints ...

然而,当我想用List<B>替换B并验证列表中的所有项时,我遇到了一个挑战。

代码语言:javascript
复制
class A {
    private String name;
    private List<B> items;
}

我应该如何在constraintMapping中定义这一点?

EN

回答 1

Stack Overflow用户

发布于 2020-12-02 02:59:43

您要查找的关键字是:container element constraints

这里有一个示例:https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#example-nested-container-element-constraints

所以就像这样:

代码语言:javascript
复制
ConstraintMapping constraintMapping = configuration.createConstraintMapping();

constraintMapping
    .type( A.class )
        .field( "items" )
            .containerElementType( 0 )
                .constraint( new NotNullDef() );

应该行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65094939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档