更改自定义约束注释中的默认组

时间:2018-09-14 16:16:10

标签: java validation constraints bean-validation customvalidator

我有一个有效的自定义类级别约束,该约束可验证不属于组的所有注释。我该如何更改以验证具有该约束的特定组?

这是我拥有的注释类:

@Target({TYPE, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = CheckCase.class)
@Documented
public @interface ValidName {

    String message() default "{message}";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    @Target({TYPE, ANNOTATION_TYPE})
    @Retention(RUNTIME)
    @Documented
    @interface List {
        ValidName[] value();
    }
}

现在,仅当我使用时,验证才有效:

@CheckCase(message = "Error message")

我想使用这个:

@CheckCase(message = "Error message", groups = CheckCaseGroup.class)

我是否需要在下一行中更改某些内容?

Class<?>[] groups() default {}; 

单独的问题: 如果我没有通过验证程序就运行验证程序,它将通过所有验证,包括具有验证程序的验证程序,还是仅通过没有指定验证程序的验证程序?例如:

将运行此:

validator.validate(inputData);

浏览以下注释:

@NotBlank(groups = CheckCaseGroup.class)

或仅此:

@NotBlank()

0 个答案:

没有答案