Java自定义constraint验证规则中groups()和payload()有什么用?

如下所示的一个验证名字的注解代码中:

@Documented
@Constraint(validatedBy = FullNameValidator.class)
@Target({PARAMETER, FIELD})
@Retention(RUNTIME)
public @interface FullName {
    String message() default "姓名格式错误";

    Class[] groups() default {};

    Class[] payload() default {};
}

为什么会有 Class[] groups()Class[] payload()这两个方法,有什么作用呢?

阅读 2.5k
1 个回答
  • groups 指定约束分组,在某一个分组时才执行此约束验证
  • payload 指定的payload,会在验证结果中携带此字段,比如:可以用于验证结果的严重等级分类

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

推荐问题