栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 手动校验对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 手动校验对象

 
            org.springframework.boot
            spring-boot-starter-validation
        

 

package com.msxf.demo.validtion;

import javax.validation.groups.Default;


public interface Add extends Default {
}

package com.msxf.demo.model;

import com.msxf.demo.validtion.Add;
import com.msxf.demo.validtion.Edit;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;


@Data
public class ValidModel {

    @NotBlank(message = "name must not null", groups = Edit.class)
    private String name;

    @NotNull(message = "年龄不能为空", groups = Add.class)
    private Integer age;
}
package com.msxf.demo.util;

import cn.hutool.extra.spring.SpringUtil;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Set;


public class ValidatorUtil {

//    private static final Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
    private static final Validator validator = SpringUtil.getBean(Validator.class);

    public static  Set> validate(T object,
                                                           Class... groups) {
        return validator.validate(object, groups);
    }

    public static  Set> validateProperty(T object,
                                                                   String propertyName,
                                                                   Class... groups) {
        return validator.validateProperty(object, propertyName, groups);
    }

    public static  Set> validateValue(Class beanType,
                                                                String propertyName,
                                                                Object value,
                                                                Class... groups) {
        return validator.validateValue(beanType, propertyName, value, groups);
    }

    public static Validator validator() {
        return validator;
    }
}

package com.msxf.demo;

import com.msxf.demo.model.ValidModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.util.Objects;
import java.util.Set;

import com.msxf.demo.validtion.Add;

@Slf4j
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
        Validator bean = SpringUtil.getBean(Validator.class);
        ValidModel validModel = new ValidModel();
        // validModel.setName("张三");
        Set> validate = 
        bean.validate(validModel,Add.class);
        validate.stream().map(Objects::toString).forEach(log::info);
    }
}

当 Set> validate = validator.validate(validModel);不为空时代表校验不通过。

 输出检验错误

ConstraintViolationImpl{interpolatedMessage='年龄不能为空', propertyPath=age, rootBeanClass=class com.msxf.demo.model.ValidModel, messageTemplate='年龄不能为空'}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825420.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号