美文网首页
spring boot 基于验证自定义验证

spring boot 基于验证自定义验证

作者: smartjiang | 来源:发表于2019-02-26 16:59 被阅读0次

    自定义异常主要为首先定义一个注解:

    1.自定义注解

    @Target({ElementType.FIELD,ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    @Constraint(validatedBy =ConstraintValidte.class )//这个表示具体实现验证的类名
    public @interface Myconstract {
        /**
         *
         * 自定义验证注解必须保留着三个属性因为原有注解也有这三个属性
         */
        String message() default "{javax.validation.constraints.NotBlank.message}";
    
        Class<?>[] groups() default { };
    
        Class<? extends Payload>[] payload() default { };
    }
    
    ···
    以下为ConstraintValidte.class为具体验证的内容
    

    //Object代表的是当前这个注解Myconstract只能放在field类型为Object的字段上
    public class ConstraintValidte implements ConstraintValidator<Myconstract,Object> {

    /**
     *  这个类里面可以通过AutoWird 注入spirng的 此类不用使用注解@Compoment因为spirng看到实现了ConstraintValidator接口,
     *
     *  l例如我们可以引入数据库的接口调用验证表单重复等信息
     *
     */
    @Override
    public boolean isValid(Object value, ConstraintValidatorContext context) {
    
        System.out.println(value+"这是第一个自定义调研filed");
        return true;
    }
    
    @Override
    public void initialize(Myconstract constraintAnnotation) {
    
    }
    

    }

    然后具体的类那里验证就可以了


    dto.png

    相关文章

      网友评论

          本文标题:spring boot 基于验证自定义验证

          本文链接:https://www.haomeiwen.com/subject/oxfzyqtx.html