创建Validator包装器标签

时间:2016-02-23 15:29:38

标签: java-ee bean-validation custom-validators

我创建了包装@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”属性的问题。 我如何设置“消息”的属性?

1 个答案:

答案 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 "";
}