首页 > 解决方案 > 如何订购 Bean 验证

问题描述

我创建了一个验证注释来验证字符串的内容。我的注释的定义如下所示:

@NotNull
@Size(min = 2, max = 128, groups = First.class)
@Pattern(regexp = "^(?!WP_([0-9])+$)[A-Z_][A-Z0-9_-]+", groups = Second.class)
@Target({FIELD, ANNOTATION_TYPE})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {})
@GroupSequence(value={First.class, Second.class})
public @interface ValidIntentName {
    String message() default "";

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

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

我的问题是我无法订购@Size@Pattern执行。我已经尝试了几件事,但到目前为止没有运气。

基本上我需要在@Pattern 之前执行@Size

定义了第一和第二接口。编译期间没有错误只是在运行时@Patter 在@Size 之前执行。

知道我做错了什么吗?

我正在运行 Java 8。

谢谢

标签: javaspringannotationsjavabeans

解决方案


推荐阅读