通常前端数据与后端交互CRUD都用到同一个类,那如何控制每一个操作类型的验证呢?多的不说了直接贴代码
1、依赖支持
<!-- hibernate 验证框架validator -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
2、通用类整理
public class ValidatorUtils {
public static Validator validator(Boolean flag) {
ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
.configure()
//failFast的意思只要出现校验失败的情况,就立即结束校验,不再进行后续的校验。
.failFast(flag)
.buildValidatorFactory();
return validatorFactory.getValidator();
}
/**
* 功能描述:对象校验
*
* @param obj 对象
* @param classType 校验类型
* @param flag 是否当出现一个属性错误就返回信息
* @return java.lang.String
* @date 2021/7/27
*/
public static <T> String getValidatorMessage(T obj, Class<?> classType, boolean flag) {
Set<ConstraintViolation<Object>> validatorMessage = validator(flag).validate(obj, classType);
return getSetMessage(new StringBuilder(), validatorMessage);
}
/**
* 功能描述:属性校验(解决交互问题)
*
* @param t 对象
* @param