Spring Boot 自定义校检字段注解

1.自定义校检字段注解:

注解:

@Target({ElementType.FIELD,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = MyConstraintValidated.class)
public @interface MyConstraint {
    String message();

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

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

校检:


public class MyConstraintValidated implements ConstraintValidator<MyConstraint, Object> {
    @Autowired
    private HelloServiceImp helloServiceImp;


    @Override
    public void initialize(MyConstraint myConstraint) {
        System.out.println("MyConstraintValidator init.....");
    }

    @Override
    public boolean isValid(Object o, ConstraintValidatorContext constraintValidatorContext) {
        if (o != null && !o.equals("")) {
            return true;
        }
        helloServiceImp.hello((String)o);     

        return false;
    }
}

@MyConstraint(message = "用户名不能为空")
private String name;

 

猜你喜欢

转载自blog.csdn.net/qq_35119422/article/details/79734840