ValidateUtils.java 1.03 KB
package com.diligrp.cashier.shared.util;

import jakarta.validation.ConstraintViolation;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import org.apache.commons.lang3.StringUtils;

import java.util.List;
import java.util.Set;
import java.util.function.Consumer;

/**
 * @ClassName ValidateUtils.java
 * @author dengwei
 * @version 1.0.0
 * @Description ValidateUtils
 * @date 2025-12-26 15:00
 */
public class ValidateUtils {
    private static final Validator VALIDATOR;

    static {
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        VALIDATOR = factory.getValidator();
    }

    /**
     * 校验器
     */
    public static <T> void valid(T t, Consumer<String> consumer) {
        Set<ConstraintViolation<T>> errors = VALIDATOR.validate(t);
        List<String> msg = errors.stream().map(ConstraintViolation::getMessage).toList();
        if (!msg.isEmpty()) {
            consumer.accept(StringUtils.join(msg, "、"));
        }
    }
}