我有一个有效的自定义类级别约束,该约束可验证不属于组的所有注释。我该如何更改以验证具有该约束的特定组?
这是我拥有的注释类:
@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()