java - 如何在组合 JSR-303 注释中设置消息?

标签 java annotations bean-validation

看一个例子:

@Pattern(regexp="[0-9]*")
@Size(max =5)
@Documented
@Target({ANNOTATION_TYPE, METHOD, FIELD, CONSTRUCTOR, PARAMETER})
@Retention(RUNTIME)
@Constraint(validatedBy = {}) //do not want any programmatic validation
public @interface CustomAnnotation {
    String message() default "";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
    }
}

带注释的字段示例:

@CustomAnnotation(message = "some important message")
private String field;

当字段违反@Pattern时,我从@Pattern而不是@CustomAnnotation收到错误消息。这是只显示@CustomAnnotation消息的方法吗?

最佳答案

您需要将元注释@ReportAsSingleViolation添加到CustomConstraint的定义中。这样,任何对其组合约束的违反都将被报告为对组合约束的单一违反。另请参见Constraint Composition部分在 BV 引用中。

关于java - 如何在组合 JSR-303 注释中设置消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18356454/

相关文章:

java - 在 Tomcat 应用程序之间共享一个小程序

java - Spring bean 验证不会替换类型不匹配错误的消息

Java 网络应用程序

java - 装饰 ObservableList 并保留更改事件的最佳实践

java - Java 8 中处理 "unsigned"整数的想法

Spring:使用@Controller注解的 Controller 继承

java自定义注解,用于修改getter方法的返回值

java - Spring MVC 跨域验证 : Code Smell?

java - jsonchema2pojo : How the minLength, maxLength 边界应用于生成的 Java Pojo 类?

java - Servlet Jsp 和空指针