Javax 注释约束 @ReportAsSingleViolation

我使用 Spring 框架和 bean 验证规范(休眠实现)。考虑到下面的代码片段,我使用以下方法进行了以下观察@ReportAsSingleViolation

  • @ReportAsSingleViolation添加时仅返回默认消息。我的期望是获得触发失败的消息而不是默认消息。

  • 当我删除@ReportAsSingleViolation注释时,一切都按预期工作。正确返回与违反约束对应的所有错误消息。

这种行为是描述 Bean 验证规范的一部分还是实现问题?

@Target({ElementType.FIELD, ElementType.PARAMETER})

@Retention(RetentionPolicy.RUNTIME)

@Constraint(validatedBy = {})

//@ReportAsSingleViolation

@NotBlank(message = "The input cannot be blank")

@Pattern(regexp = "[0-9A-Z_]+", message = "The input must content only uppercase, numbers and undescore")

@Size(max = 30, message = "The input must be maximal 30")

@Documented

public @interface MyAnnotation{


    String message() default "{com.example.MyAnnotation.message}";


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


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

}


蓝山帝景
浏览 753回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java