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

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

绝对不能相信前端传过来的任何数据  @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. AI - 框架(Frameworks)

    1 - Scikit-Learn Sklearn(scikit-learn: machine learning in Python):https://scikit-learn.org/ 文档丰富而又详 ...

  2. iReport官方文档(英文版本)+ iReport中文教程

    背景介绍 最近学习iReport,但是网上找到的博客里都是断断续续,几乎没有很详尽的资料文档,要么下载收费,要么不全.很是困扰. 在此,我提供给大家两个官网文档: JasperReports Libr ...

  3. JS获取链接中域名等信息

    以访问百度为例子http://pan.baidu.com/share/qrcode?w=150&h=150&url=http%3A%2F%2F172.16.1.96%2FWeb%2FG ...

  4. vue 解决无法设置滚动位置的问题

    问题描述 在实现锚点定位的时候发现无法设置滚动条的位置. 在Vue中,使用 document.body.scrollTop=952 无法设置滚动条的高度. document.body.scrollTo ...

  5. Man方法

    Main方法相当一个主线程,JVM会自动寻找class文件中的main方法并执行(请思考tomcat加载java web项目启动的线程数和每次tomcat服务器接收到请求,是不是要发起一个线程去处理) ...

  6. IDEA中MAVEN项目有多个子目录,如何加载构建

    ddts这个项目有三个子目录,每个子目录下面也都有一个 pom.xml       此时需要 右键子目录的 pom.xml,选择Add as Maven Project,在上图中cli.core两个目 ...

  7. .NET西安社区 [拥抱开源,又见 .NET] 活动简报

    拥抱开源, 又见 .NET」 随着 .NET Core的发布和开源,.NET又重新回到了人们的视野.除了开源.跨平台.高性能以及优秀的语言特性,越来越多的第三方开源库也出现在了Github上——包括M ...

  8. 修改wampsever中MySql5.7.14默认为空的密码

    ①打开WAMP找中MySql控制台,提示输入密码,开始密码为空,直接按回车 ②输入[use mysql],控制台提示[Database changed] ③输入[update user set aut ...

  9. Back-off pulling image \"registry.access.redhat.com/rhel7/pod-infrastructure:latest

    Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePull ...

  10. haproxy(8):haproxy代理MySQL要考虑的问题

    HaProxy系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html haproxy可以通过 TCP协议 来代理MySQL.但是两个问题必须考虑: ...