我创建了包装@Pattern的自定义验证器标签。
下面,
@Pattern(regexp = "~")
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {})
public @interface CustomConstraint {
String message() default "";
Class[] groups() default {};
Class[] payload() default {};
}
但是,此标记存在无法设置“message”属性的问题。 我如何设置“消息”的属性?
答案 0 :(得分:1)
您要找的是@OverridesAttribute
:
@Pattern(regexp = "~")
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {})
public @interface CustomConstraint {
String message() default "";
Class[] groups() default {};
Class[] payload() default {};
@OverridesAttribute(constraint = Pattern.class, name = "message")
String patternMessage() default "";
}