Initial project
This commit is contained in:
35
src/main/java/com/imyeyu/spring/util/AbstractValidator.java
Normal file
35
src/main/java/com/imyeyu/spring/util/AbstractValidator.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package com.imyeyu.spring.util;
|
||||
|
||||
import jakarta.validation.ConstraintValidator;
|
||||
import jakarta.validation.ConstraintValidatorContext;
|
||||
import com.imyeyu.java.TimiJava;
|
||||
|
||||
import java.lang.annotation.Annotation;
|
||||
|
||||
/**
|
||||
* 数据验证动态消息返回抽象类
|
||||
*
|
||||
* @author 夜雨
|
||||
* @version 2023-05-07 00:08
|
||||
*/
|
||||
public abstract class AbstractValidator<A extends Annotation, T> implements ConstraintValidator<A, T> {
|
||||
|
||||
/**
|
||||
* 验证处理器,入参验证数据,返回错误消息语言映射,返回 null 时表示通过验证
|
||||
*
|
||||
* @param t 验证数据
|
||||
* @return 验证消息回调
|
||||
*/
|
||||
protected abstract String inspector(T t);
|
||||
|
||||
@Override
|
||||
public boolean isValid(T value, ConstraintValidatorContext context) {
|
||||
String msgKey = inspector(value);
|
||||
if (TimiJava.isNotEmpty(msgKey)) {
|
||||
context.disableDefaultConstraintViolation();
|
||||
context.buildConstraintViolationWithTemplate(msgKey).addConstraintViolation();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user