package com.xjrsoft.common.utils;
import cn.hutool.core.util.StrUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.Assert;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.groups.Default;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class ValidateUtil {
private static Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
public static List validateEntity(T obj) {
//解析校验结果
Set> validateSet = validator.validate(obj, Default.class);
return buildValidationResult(validateSet, null);
}
public static void validateEntityParams(T obj) {
//解析校验结果
Set> validateSet = validator.validate(obj, Default.class);
buildValidationResult(validateSet);
}
public static List validateEntity(T obj, int lineNo) {
//解析校验结果
Set> validateSet = validator.validate(obj, Default.class);
return buildValidationResult(validateSet, lineNo);
}
private static List buildValidationResult(Set> validateSet, Integer lineNo) {
List errorList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(validateSet)) {
for (ConstraintViolation constraintViolation : validateSet) {
if (lineNo != null) {
errorList.add(StrUtil.format("第{}行:{}", lineNo, constraintViolation.getMessage()));
} else {
errorList.add(constraintViolation.getMessage());
}
}
}
return errorList;
}
private static void buildValidationResult(Set> validateSet) {
if (CollectionUtils.isNotEmpty(validateSet)) {
for (ConstraintViolation constraintViolation : validateSet) {
Assert.isTrue(StringUtils.isEmpty(constraintViolation.getMessage()), constraintViolation.getMessage());
}
}
}
}
关注林哥,持续更新哦!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。



