EasyExcel导入校验必填项不能为空

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情

前言

记录每天开发中遇到的小问题!我是一个前端,为了有工时可填,老板给我分了后端的活。这不就接触到了全新的芝士了嘛,image.png本人表示很开心O(∩_∩)O哈哈~

需求详情

某页面,新增和导入数据时,增加两个字段的必填项校验;

前端部分

使用的是vue和element-ui,新增,加必填项校验这种事情最简单了,直接用el-form的rules属性就好了呀

image.png

epaVehicleType:[
  {required: true, message: '请选择环保局车辆类型', trigger: 'blur'},
],
activeModel:[
  {required:true,message:'请选择激活模式',trigger:'blur'},
],
复制代码

前端新增这个部分就很简单了,这个导入部分前端主要的作用就是上传excel,怎么对excel里的字段做必填项校验呢?一想就觉得头大。前端部分所做的工作如下图,然后把表格转成二进制码传给后端,接下来就是后端代码进行处理。

image.png

image.png

后端部分

顺藤摸瓜,从接口找到了以下方法,从中可以看到 excelImportService 数据处理接口(校验,持久化) 以及 clazz 对应的实体类 这么两个注释,那肯定就是这里了,接着顺藤摸瓜:


/**
 * excel导入方法
 * @param response
 * @param fileInputStream 导入文件
 * @param excelImportService 数据处理接口(校验,持久化)
 * @param clazz 对应的实体类
 * @param obj 其他参数
 * @throws Exception
 */
public static<T> EasyExcelListener webImportExcel(HttpServletResponse response, InputStream fileInputStream, ExcelImportService<T> excelImportService, Class<T> clazz,Object obj) throws Exception{
   return webImportExcel(response,fileInputStream,excelImportService,clazz,obj,true);
}

复制代码

就找到了以下这个方法,从注释中可以看到,需要加属性,接着找: image.png

找到对应的实体类,加上 @NotNull 注释,应该就没问题了 image.png

最后测试通过耶耶耶~

总结

这就是一个前端小白摸索后端代码的过程,问题解决了万事大吉,期间搜索到了EasyExcel的官网 ,大佬们可以研究研究,还是前端代码写和改更顺手┭┮﹏┭┮

猜你喜欢

转载自juejin.im/post/7127936084872265735