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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。