java - 如何在自定义约束注解的约束违规消息中显示字段名称描述?

标签 java bean-validation jsr349

如何在Bean Validation 1.1 (JSR-349)的约束违反消息中显示字段名称描述自定义约束注释?

例如,给定以下自定义约束注释@Required、资源包ValidationMessages.properties和类Person,我该如何编写约束违规消息“First Name is required.”(必填字段firstName)和“Last Name is required.”(必填字段)姓氏

@Documented
@Constraint(validatedBy = {})
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@NotEmpty
@ReportAsSingleViolation
public @interface Required {
    public abstract Class<?>[] groups() default {};
    public abstract String message() default "{Required.message}";
    public abstract Class<? extends Payload>[] payload() default {};
}

在资源包中,ValidationMessages.properties:

Required.message=is required.

:

public class Person {
    @Required
    private String firstName;

    @Required
    private String lastName;
}

最佳答案

约束违反约束违反.. ((PathImpl)constraintViolation.getPropertyPath()).getLeafNode().getName();

关于java - 如何在自定义约束注解的约束违规消息中显示字段名称描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29827436/

相关文章:

Java索引越界错误

java - TitanDB 删除所有内容,包括索引

java - 为什么我的扫描工具仍然报告安全问题?

java - JSR 349 验证 : ExecutableValidator. 静态方法的 validateParameters

java - JSR-349 Bean 验证注释可以用于验证 Java 时间类型吗?

java - 如何识别NAT后面的Server Socket端口

java - JSR-303 bean 验证 - 避免绕过字段

java - 嵌套对象的 Spring 注解验证和索引

spring - 使用带有 Hibernate Validator 的自定义 ResourceBundle