不能相信前端传过来的任何数据

一定不能相信前端传过来的任何数据

绝对不能相信前端传过来的任何数据  @JsonFormat 时间必须是指定的格式(这里是接收参数格式,不是取数据来格式化)

    @Null 必须为空

    @NOtNUll 不能为空

    @AssertTrue 布尔值必须为 true

    @AssertFalse 布尔值必须为 false

    @Past 时间是过去的时间(比如现在是2018-08-12 15:43:23,如果传过来的值在此时间之后就报错)

    @Feauture 时间是未来时间

    @NotBlank 字符串不能是 null,且长度大于 0

    @Email 字符串必须是邮箱

    @NotEmpty 字符串必须非空

    @Min(10) 数字必须大于等于10

    @Max(20) 数字必须小于等于20

    @Size(min=1, max=10) 元素范围是 1-10(可以是字符串,数组,集合,Map 等)

    @Length(min=1, max=10) 字符串长度范围在 1-10 之间

    @Pattern(regexp = "0[0123]") 只能是 00或01或02或03
@Valid 级联注解(如果当前属性是一个 JavaBean ,这个 bean 里面的字段也要验证)

注意:在 controller 层的方法接收参数时,使用 @Valid 注解表示当前方法的参数需要验证

  每个验证注解可以加 message 属性,当验证不通过时提示给用户

示例:

// 验证邮箱
@Email(message="输入的邮箱格式不正确")
private String concatEmail; // images 这个 List 不能为 null,但是每个 Image 就不好说了,具体看 @Valid 级联验证规则
@NotNull
private List<@Valid Image> images;
// list 长度至少为1,不可为 null,每个元素(String)不可为 null ,最短长度10
@NotNull
@Size(min=1)
private List<@Size(min=10) @NotNull String> list;

springboot 数据验证的更多相关文章

  1. SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念: SpringBoot 错误处理 2.具体内容 在之前的程序里面如果一旦出现了错误之后就会出现一堆的大白板,这个白板会 ...

  2. springboot(11)使用SpringBoot validator进行数据验证

    简介: 数据验证是作为一个企业级项目架构上设计的最基础的模块,前辈们曾说过:界面上传递到后台的数据没有百分之百值得相信的!为什么这么说呢?往往我们在编写程序的时候都会感觉后台的验证无关紧要,这样就会给 ...

  3. 使用SpringBoot进行优雅的数据验证

    JSR-303 规范 在程序进行数据处理之前,对数据进行准确性校验是我们必须要考虑的事情.尽早发现数据错误,不仅可以防止错误向核心业务逻辑蔓延,而且这种错误非常明显,容易发现解决. JSR303 规范 ...

  4. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  5. MVC 数据验证

    MVC 数据验证 前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解.System.ComponentModel.DataAnnotations 一.基础特性 一.Required 必填 ...

  6. kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件

    小菜利用工作之余编写了一款Java小插件,主要是用来验证Web请求的数据,是在服务器端进行验证,不是简单的浏览器端验证. 小菜编写的仅仅是一款非常初级的组件而已,但小菜为它写了详细的说明文档. 简单介 ...

  7. MVC3 数据验证用法之密码验证设计思路

    描述:MVC数据验证使用小结 内容:display,Required,stringLength,Remote,compare,RegularExpression 本人最近在公司用mvc做了一个修改密码 ...

  8. jQuery MiniUI开发系列之:数据验证

    在开发应用系统界面时,往往需要进行很多.复杂的数据验证,当填写的数据符合规定,才能提交保存. jQuery MiniUI提供了比较完美的表单数据验证和错误显示的方式. 常见的表单控件,都有一个验证事件 ...

  9. AngularJS快速入门指南14:数据验证

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

随机推荐

  1. LabVIEW(二):计数器应用

    1.计数器结构 —>Gate Output—> Counter Register —>Source 其中: Source:被计数的输入源信号 Gate:切断计数是否启动的门控信号 O ...

  2. Xamarin.Android 上中下布局

    xml代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:and ...

  3. 细读 php json数据和JavaScript json数据

    关于JSON的优点: 1.基于纯文本,跨平台传递极其简单: 2.Javascript原生支持,后台语言几乎全部支持: 3.轻量级数据格式,占用字符数量极少,特别适合互联网传递: 4.可读性较强 5.容 ...

  4. vue 项目实战 (入门)

    环境搭建 安装NodeJS →箭头https://nodejs.org/en/ NPM是随同NodeJS一起安装的包管理工具. 检查环境是否安装成功: 打开一个命令提示符,有成功输出版本号则为安装成功 ...

  5. kafka快速开始

    Step 1: Download the code Step 2: Start the server Step 3: Create a topic Step 4: Send some messages ...

  6. Zookeeper系列目录

    1.zookeeper安装和参数配置 2.zookeeper的适用场景 3.zookeeper客户端的实现以及使用--watcher机制 session机制 重连恢复机制 异步io

  7. Jenkins入门之任务基本操作

    首先先简单讲一下Jenkins构建任务各种图标的含义 我的主界面有以下构建任务,这里前两列都是图标,第一列为构建的状态,前面已经讲过蓝色代表成功,红色代表失败.当然那是针对一次构建,一个构建任务可能有 ...

  8. [THUWC2017] 在美妙的数学王国畅游

    Description 懒得概括了.. Solution 挺裸的LCT+挺裸的泰勒展开吧... 稍微了解过一点的人应该都能很快切掉...吧? 就是把每个点的函数泰勒展开一下然后LCT维护子树sum就行 ...

  9. 翻译:SELECT INTO语句(已提交到MariaDB官方手册)

    本文为mariadb官方手册:SELECT INTO的译文. 原文:https://mariadb.com/kb/en/selectinto/我提交到MariaDB官方手册的译文:https://ma ...

  10. 前端(五)之display 总结与浮动

    前端之浮动布局.清浮动 display 总结 <!DOCTYPE html> <html> <head> <meta charset="UTF-8& ...