springboot使用validation 插件做数据校验

时间:2023-02-16 22:04:17

不多说废话。

首先,我们需要在入参实体对象中,使用注解,控制

@Data
public class UpdateShufflingRequest {
private String shuffling_logo;
private Integer shuffling_state;//是否轮播,0否,1是
private String shuffling_no;//轮播图编号
@NotEmpty(message="小区id不允许空")
private String community_id;
private Integer order_seq;
} 然后在controller中
需要在入参实体对象前 加@Validated,通知容器需要对这些参数做校验
BindingResult  是Validation插件中的类
当校验不通过的时候,具体的响应信息会都在其中,假如我们队这些信息不做处理,返回前端的内容会多而杂。因此我们需要封装一下
@RequestMapping("/updateShuffling")
public CommonResponse updateShuffling(@Validated UpdateShufflingRequest updateShufflingRequest, BindingResult result){
log.info( "updateShuffling start{}",JSONObject.toJSONString( updateShufflingRequest ) );
if(result.hasErrors()) {
//数据校验
ErrValid errValid=ValidUtils.getErrorMsg( result );
return ResponseUtil.failed( errValid.getCode(), errValid.getErrMsg() );
}
//......其他主体逻辑
return ResponseUtil.success( "", "成功" );
}
public static ErrValid getErrorMsg(BindingResult result){
StringBuffer msg = new StringBuffer();
//获取错误字段集合
List<FieldError> fieldErrors = result.getFieldErrors();
//遍历错误字段获取错误消息
for (FieldError fieldError : fieldErrors) {
//获取错误信息
//添加到错误消息集合内
msg.append(fieldError.getField()+":"+fieldError.getDefaultMessage()+",");
}
String errMsg = msg.toString();
ErrValid errValid = new ErrValid();
errValid.setCode( 99999 );
errValid.setErrMsg( errMsg.substring( 0,errMsg.length()-1 ) );
return errValid;
}

至此,完成

参考:https://ciweigg2.github.io/2018/08/05/springboot-qing-song-gao-ding-shu-ju-yan-zheng/

springboot使用validation 插件做数据校验的更多相关文章

  1. &period;net 使用validator做数据校验

    概述 在把用户输入的数据存储到数据库之前一般都要对数据做服务端校验,于是想到了.net自带的数据校验框架validator.本文对validator的使用方法进行介绍,并分析下校验的的原理. 使用va ...

  2. 使用Hibernate Validator来帮你做数据校验

    数据校验是贯穿所有应用程序层(从表示层到持久层)的常见任务.通常在每个层中实现相同的验证逻辑,这是耗时且容易出错的.这里我们可以使用Hibernate Validator来帮助我处理这项任务.对此,H ...

  3. SpringBoot使用JPA来做数据查询

    Spring-Data-JPA在做数据存储方面真的很方便,它的目的就是写更少的代码,更多的事情,但是也有其力有未逮或者说处理起来比较闹心的地方. 1.先来感受一下使用JPA做数据查询时,代码的简化程度 ...

  4. StringMVC 中如何做数据校验

    步骤一:引入四个jar包 步骤二:注册类型转换器 <context:component-scan base-package="cn.happy.controller"> ...

  5. SpringBoot入门 &lpar;十一&rpar; 数据校验

    本文记录学习在SpringBoot中做数据校验. 一 什么是数据校验 数据校验就是在应用程序中,对输入进来得数据做语义分析判断,阻挡不符合规则得数据,放行符合规则得数据,以确保被保存得数据符合我们得数 ...

  6. &commat;Valid 数据校验 &plus; 自定义全局异常信息

    关于javax.validation.Validator校验的使用 对于要校验的实体类:其需要校验的字段上需要添加注解 实际例子 使用:首先要拿到 validator的子类 Validator val ...

  7. struts中的数据校验

    1.struts中如何进行数据校验 在每一个Action类中,数据校验一般都写在业务方法中,比如login().register()等.struts提供了数据校验功能.每个继承自ActionSuppo ...

  8. (32)forms组件(数据校验)

    forms组件的用处 1.就是用来做数据校验的 2.渲染页面 3.渲染错误信息(和局部刷新同效果) 数据校验 要使用forms组件必须要写一个类继承forms组件 urls.py from bbs01 ...

  9. Knockout&colon; 使用knockout validation插件进行校验&comma; 给未通过校验的输入框添加红色边框突出显示&period;

    之前整理了三篇帖子: Knockout: 使用CSS绑定和event的blur失去焦点事件, 给未通过校验的输入框添加红色边框突出显示. http://www.cnblogs.com/liuzhend ...

随机推荐

  1. PHP&plus;MYSQL网站SQL Injection攻防

    程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...

  2. Linux下Git和GitHub使用方法总结

    来源:Linux下Git和GitHub使用方法总结 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 到G ...

  3. LBS基站数据解析接口

    http://www.cellocation.com/interfac/#hybrid http://www.cellid.cn/ https://www.juhe.cn/docs/api/id/8

  4. acm位运算应用 搜索

    acm位运算应用 搜索 搜索    此处不讲题目,只讲位运算是怎样在这些题中实现和应用的.由于搜索题往往是基于对状态的操作,位运算往往特别有效,优化之后的效果可以有目共睹.    例1.POJ 132 ...

  5. ORACLE数据库学习之体系结构

     Oracle体系结构 ORACLE数据库体系结构决定了oracle如何使用网络.磁盘和内存.包括实例(instance),文件(file)和进程(process不包括后台进程)三部分. 实例:每 ...

  6. ILRuntime&lowbar;NewbieGuide—导读

    Welcome to the ILRuntime_NewbieGuide wiki! 入门篇:做个简单的案例 https://www.cnblogs.com/kerven/p/10237280.htm ...

  7. C&plus;&plus;常见函数使用

    备注:总结C++中一些常见函数的使用,提高工作效率 数组的拼接: //报文头的前6B固定 DRV_UCHAR pkt_info_head[PALIVE_TO_NP_LEN] = {0x70, 0xff ...

  8. emlog编辑器探寻之旅

    本文同步于我的个人博客 emlog编辑器探寻之旅 一直想要寻找一个好用的emlog文本编辑器,寻觅了很久,从默认的KindEditor编辑器开始,用了几天就感觉特别难用,很多需求根本满足不了.后来想要 ...

  9. UML - EA 序列图

    序列图中的 Fragment 的类型(Loop.Opt.Par和Alt) (还有: ) 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向 ...

  10. JS实现随机数生成算法示例代码

    JS实现随机数生成算法的方法有很多,本文为大家介绍一个比较不错的方法. 1, var MT = []; var index = 0; function initialize_generator(see ...