src/main/java/com/yuanlrc/base/util/ValidateEntityUtil.java
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package com.yuanlrc.base.util;
import java.lang.reflect.Field;
import com.yuanlrc.base.annotion.ValidateEntity;
import com.yuanlrc.base.bean.CodeMsg;
/**
* 验证实体工具类
* @author Administrator
*
*/
public class ValidateEntityUtil {
public static CodeMsg validate(Object object){
Field[] declaredFields = object.getClass().getDeclaredFields();
for(Field field : declaredFields){
ValidateEntity annotation = field.getAnnotation(ValidateEntity.class);
if(annotation != null){
if(annotation.required()){
//表示该字段是必填字段
field.setAccessible(true);
try {
Object o = field.get(object);
//首先判断是否为空
if(o == null){
CodeMsg codeMsg = CodeMsg.VALIDATE_ENTITY_ERROR;
codeMsg.setMsg(annotation.errorRequiredMsg());
return codeMsg;
}
//到这,说明该变量的值不是null
//首先判断是不是String类型
if(o instanceof String){
//若是字符串类型,则检查其长度
if(annotation.requiredLeng()){
if(o.toString().length() < annotation.minLength()){
CodeMsg codeMsg = CodeMsg.VALIDATE_ENTITY_ERROR;
codeMsg.setMsg(annotation.errorMinLengthMsg());
return codeMsg;
}
if(o.toString().length() > annotation.maxLength()){
CodeMsg codeMsg = CodeMsg.VALIDATE_ENTITY_ERROR;
codeMsg.setMsg(annotation.errorMaxLengthMsg());
return codeMsg;
}
}
}
//其次来判断是否为数字
if(isNumberObject(o)){
//判断是否规定检查最小值
if(annotation.requiredMinValue()){
if(Double.valueOf(o.toString()) < annotation.minValue()){
CodeMsg codeMsg = CodeMsg.VALIDATE_ENTITY_ERROR;
codeMsg.setMsg(annotation.errorMinValueMsg());
return codeMsg;
}
}
//判断是否规定检查最大值
if(annotation.requiredMaxValue()){
if(Double.valueOf(o.toString()) > annotation.maxValue()){
后面还有 32 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。