Validation使用小记

一、工具类编写

package com.example.demo.util;

import java.util.Optional;
import javax.validation.Validation;
import javax.validation.Validator;

/**
 * 校验工具类
 */
public class ValidationUtils {

    private static Validator VALIDATOR = Validation.buildDefaultValidatorFactory().getValidator();

    private ValidationUtils(){

    }

    public static <T> String validate(T obj, Class<?>... classes) {
        StringBuilder sb = new StringBuilder();
        Optional.ofNullable(VALIDATOR.validate(obj, classes)).ifPresent(res -> res.forEach(cv ->
            sb.append("#").append(cv.getPropertyPath().toString()).append(cv.getMessage())
        ));
        return sb.toString();
    }

}

二、Pojo类编写

package com.example.demo.entity;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;

@Data
public class Person {

    @NotNull(message = "{用户Id}不能为空")
    @Length(min=10, max=20, message = "{用户Id}长度必须在10到20之间")
    String personId;

    @NotNull(message = "{用户姓名}不能为空")
    @Length(min=10, max=20, message = "{用户姓名}长度必须在10到20之间")
    String personName;

}

三、测试

package com.example.demo.util;

import com.example.demo.entity.Person;
import org.junit.jupiter.api.Test;

public class ValidationUtilTest {

    @Test
    public void test(){

        Person person = new Person();
        person.setPersonId("12345610");
        System.out.println(ValidationUtils.validate(person));
    }
}

结果:
#personName{用户姓名}不能为空#personId{用户Id}长度必须在10到20之间

注意:必须引入org.hibernate.validator包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值