小编Saj*_*ran的帖子

ConstraintValidator 的自定义消息

我正在使用下面给出的 ConstraintValidator 实现来验证 Spring Boot REST 服务的请求对象

@Target({ FIELD, METHOD, PARAMETER, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = MyRequestValidator.class)
@Documented
public @interface MyRequestValidation {

    String message() default "Mandatory fields missing";

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

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

public class MyRequestValidator
            implements
                ConstraintValidator<MyRequestValidation, MyRequest>{
   @Override
    public void initialize(MyRequestValidation constraintAnnotation) {
        // Nothing to do here
    }
   @Override
    public boolean isValid(MyRequest myRequest, ConstraintValidatorContext context) {
 //do some validation
     context.disableDefaultConstraintViolation();    
     context.buildConstraintViolationWithTemplate("Id can contain only alphabets and digits")
    .addPropertyNode("id")
    .addConstraintViolation();
   }
} …
Run Code Online (Sandbox Code Playgroud)

java jax-rs hibernate-validator spring-boot

8
推荐指数
1
解决办法
3710
查看次数

标签 统计

hibernate-validator ×1

java ×1

jax-rs ×1

spring-boot ×1