根据这些说明,我正在为hibernate验证器使用编程方法进行验证模式的工作,https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-programmatic-api。
我设法验证了字符串对象(name)和嵌套对象(B)。
class A {
private String name;
private B item;
}在Kotlin中,我有以下配置:
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并验证列表中的所有项时,我遇到了一个挑战。
class A {
private String name;
private List<B> items;
}我应该如何在constraintMapping中定义这一点?
发布于 2020-12-02 02:59:43
您要查找的关键字是:container element constraints。
所以就像这样:
ConstraintMapping constraintMapping = configuration.createConstraintMapping();
constraintMapping
.type( A.class )
.field( "items" )
.containerElementType( 0 )
.constraint( new NotNullDef() );应该行得通。
https://stackoverflow.com/questions/65094939
复制相似问题