不多说废话。

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

@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. .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入门 (十一) 数据校验

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

  6. @Valid 数据校验 + 自定义全局异常信息

    关于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: 使用knockout validation插件进行校验, 给未通过校验的输入框添加红色边框突出显示.

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

随机推荐

  1. java_xml_解析

    xml解析的两种的基本方式 1:SAX解析:一行一行的解析,不回头 2:DOM解析:将整个XML以树状读到内存中,然后需要哪一部分就取哪一部分 SAX解析: 基于java的步骤: //1.获取解析工厂 ...

  2. Random类 一般跟生成随机数有关

    public class MyRandom extends Random{ public static void main(String[] args) { // 随机数,生产随机数 // java提 ...

  3. Linux协议栈-netfilter-conntrack

    原文连接:https://blog.csdn.net/jasonchen_gbd/article/details/44874321?utm_source=blogxgwz8

  4. macOS 版微信小助手,支持微信多开、防撤回、远程控制mac、自动回复等等

    微信小助手 GitHub大牛提供的微信小助手是一款插件,该插件具备多开.防撤回.免手机认证登录.自动回复.远程控制自己的 macOS.群发等众多功能 GitHub网址:https://github.c ...

  5. python基础之 装饰器,内置函数

    1.闭包回顾 在学习装饰器之前,可以先复习一下什么是闭包? 在嵌套函数内部的函数可以使用外部变量(非全局变量)叫做闭包! def wrapper(): money =10 def inner(num) ...

  6. 解析key值不确定的json数据

    遇到一个奇葩的需求,一段json的key值是动态的,并且这个key还是有作用的.这就要求在不知道key是多少的情况下去把这段json解析出来. 我用到的方法是迭代器.具体代码如下 JSONObject ...

  7. php 解密小程序获取unionid

    小程序代码 php代码 public function login2() { $post = input(); if (!empty($post)) { $appid = $this->wxap ...

  8. SpringMVC和Struts2的区别及优势

    1.SpringMVC和Struts2的区别比较 1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方 ...

  9. kali,parrot最新更新debain源

    deb http://mirrors.163.com/debian/ jessie main non-free contribdeb http://mirrors.163.com/debian/ je ...

  10. 纯JS.CSS编写的可拖拽并左右分栏的插件(复制代码就能用)

    <!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equ ...