Java Bean验证:如何用验证组级联验证?

2022-01-30 07:17:55 标签 javabean-validation

我有一个类级别的注释,在使用Bar类型检查另一个字段之前,我使用它来检查someField

@SomeClassValidation
class Foo {
    String someField;
    @Valid
    Bar someBar;
}

SomeClassValidation Foo>看起来像:

if(someField == someExpectedValue) {
    return someBar != null;
}

当@SomeClassValidation的初始检查通过时,我还需要验证Bar类中的字段,看起来像这样:

class Bar {
    @NotEmpty
    @Size(min=2, max=2)
    String fieldA;
    @NotEmpty
    @Size(min=3, max=10)
    String fieldB;
}

根据另一个类似问题的答案,我认为我需要使用验证分组,其中BarValidationGroup是我用于Bar类中的字段的标记接口。

@SomeClassValidation
@GroupSequence({Foo.class, BarValidationGroup.class})
class Foo {
    String someField;
    @Valid
    Bar someBar;
}
class Bar {
    @NotEmpty
    @Size(min=2, max=2, groups = BarValidationGroup.class)
    String fieldA;
    @NotEmpty
    @Size(min=3, max=10, groups = BarValidationGroup.class)
    String fieldB;
}

第一级验证(@SomeClassValidation)会触发,但Bar的验证不会。我哪里做错了?

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码