做网站运营有提成吗,国外seo网站,asp.net个人网站,做网站赚钱交税在实际项目中#xff0c;遇到了导入数据校验是否为空的情况#xff0c;只使用Javax的NotBlank注解并没有什么用#xff0c;还需要使用工具类校验#xff0c;具体代码如下#xff1a;
pojo代码如下#xff1a; import com.alibaba.excel.annotation.ExcelIgnore;
import …
在实际项目中遇到了导入数据校验是否为空的情况只使用Javax的NotBlank注解并没有什么用还需要使用工具类校验具体代码如下
pojo代码如下 import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import org.apache.poi.ss.usermodel.Font;import javax.validation.constraints.NotBlank;
import java.io.Serializable;Data
ColumnWidth(25)
HeadRowHeight(20)
ContentRowHeight(18)
public class ExcelData implements Serializable {private static final long serialVersionUID 1L;NotBlank(message 类型不能为空)HeadFontStyle(color Font.COLOR_RED)ExcelProperty(value 类型)private String type;NotBlank(message 编号不能为空)HeadFontStyle(color Font.COLOR_RED)ExcelProperty(value 编号)private String code;HeadFontStyle(color Font.COLOR_NORMAL)ExcelProperty(value 备注)private String comment;ExcelIgnoreprivate Long typeId;}工具类代码如下 import javax.validation.constraints.NotBlank;
import java.lang.reflect.Field;
import java.util.Objects;public class ValidationUtils {public static boolean isNotBlankFields(Object object) {Field[] fields object.getClass().getDeclaredFields();for (Field field : fields) {if (field.isAnnotationPresent(NotBlank.class)) {field.setAccessible(true);try {Object value field.get(object);if (Objects.isNull(value) || value.toString().trim().isEmpty()) {return false;}} catch (IllegalAccessException e) {// 异常处理}}}return true;}
}调用代码如下 ListExcelData excelDataList new ArrayList();// list数据添加逻辑 ……// 空数据校验boolean allFieldsNotBlank excelDataList.stream().allMatch(ValidationUtils::isNotBlankFields);if (!allFieldsNotBlank) {// 有空数据时的处理}
通过调用就可以校验标注NotBlank注解的属性值是否为空了。
相关文章: