• springboot-自定义校验


    申明:摘录自java知音

    StartWithValidation.class

    @Documented
    @Constraint(validatedBy = StartWithValidator.class )
    @Target({METHOD, FIELD})
    @Retention(RUNTIME)
    public @interface StartWithValidation {
    String message() default "不是正确的性别取值范围";
    String start() default "_";
    Class<?>[] groups() default {};
    Class<? extends Payload>[] payload() default {};
    @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER})
    @Retention(RUNTIME)
    @Documented
    @interface List {
    StartWithValidation[] value();
    }
    }

    StartWithValidator.class

    public class StartWithValidator implements ConstraintValidator<StartWithValidation, String> {
    private String start;
    @Override
    public void initialize(StartWithValidation constraintAnnotation) {
    start = constraintAnnotation.start();
    }

    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {

    if (!StringUtils.isEmpty(value)) {
    return value.startsWith(start);
    }
    return true;
    }
    }
    运用
    @StartWithValidation(message = "Param 'address' must be start with 'Beijing'.", start = "Beijing")
    public String address;

    解释:
    地址必须以Beijing开头,否则校验失败
  • 相关阅读:
    Linux安装nginx
    linux目录结构
    Django-admin
    celery
    Flask-Migrate
    Flask-Script
    Flask-SQLAlchemy
    SQLAlchemy
    mongodb的增删改查
    websocket的加密和解密过程
  • 原文地址:https://www.cnblogs.com/SoftwareBuilding/p/11927688.html
Copyright © 2020-2023  润新知