首页 > 解决方案 > @groupsequence 不适用于自定义验证?

问题描述

我正在尝试验证一个类,我必须执行的验证必须按以下顺序进行:首先是类本身的验证,然后是嵌套对象的验证,最后是自定义验证。要尝试订购验证,我正在使用 @groupsequence 注释,如下所示:

@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
@GroupSequence({FirstClass.class, ValidSecond.class, ValidCustom.class})
@ValidCustom(groups = ValidCustom.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
public record FirstClass(
       @NotEmpty(message = " mustn't be empty")
       String a,
       @DecimalMin("0.999")
       @DecimalMax("99999999999999999.999")
       Double e,
       @NotNull(groups = ValidSecond.class)
       PowerN n,
       MaxF maxF) {
}

我创建了界面:

公共接口 ValidSecond { }

和自定义的ValidCustom。

验证单独工作,但我需要首先在父类和嵌套对象上运行验证,并且只针对最后一个自定义对象。对于上面的方法,这不会发生,并且在 ValidSecond 之前调用了自定义

标签: javahibernatejava-15

解决方案


推荐阅读