如何通过验证来验证 class 的数组?

How can validate an array of a class with its validations?

嗨,我有下一个代码:

public class PkData{
    @NotNull
    Private String stringA;
    ...
}

public class A{
    private PkData pkData = new PkData();

    @NotNull
    private Integer sequenceNumberA;

    @NotNull
    Private String stringA;

    @NotNull
    Private String stringB;
...
}

public class B{
    @NotNull
    private A a;
...
}

调用时Set<ConstraintViolation<User>> violations = validator.validate(B);

验证器只有 return B 错误,而不是子类错误 A.stringA as not null.

如何获得这些验证。

如果B是B[]怎么办?

有什么想法吗?谢谢

您可以在每个 Class A 和 class PkData 中创建验证方法,这将检查它们中存在的每个私有字段的值并验证这些值。

您需要在 class B

中的 private A a; 上添加 @Valid 注释