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

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

绝对不能相信前端传过来的任何数据  @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. jQuery文档操作

    jQuery文档操作 1.jq文档结构 var $sup = $('.sup'); $sup.children(); // sup所有的子级们 $sup.parent(); // sup的父级(一个, ...

  2. Ubuntu 16.04 下octave的使用入门

    SciLab和octave是开源的且免费的矩阵计算工具,二者都有希望成为矩阵计算的新宠.相比之下, octave与MatLab的兼容性更高. octave遵循GPL协议(GNU General Pub ...

  3. JavaScript中的注释问题详解? 部分3

    注释:解释代码的含义,浏览器中不执行. 方便其他程序员了解代码 ,也可以注释自己不需要的代码(开发过程中)! 1. 单行注释 // 用于一行代码上面 2.多行注释 /* */ 用于一段代码上面 或者是 ...

  4. 微信小程序分包加载实战

    "离线包"机制 微信小程序采用的是类似离线包加载方案,以转转小程序为例,当用户第一次打开时会先下载好所有代码,然后再加载页面:当用户再次进入转转小程序时,会直接使用已下载的代码,省 ...

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

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

  6. System.net.mail.smtpException;服务器提交了协议冲突 服务器响应为:

    最近发邮件遇到问题. 主机godaddy 端口 25,80 都可以用 stmp服务器地址:smtpout.secureserver.net 不支持ssl 我就吧 EnableSsl 设置为false了 ...

  7. odoo开发笔记 -- tree视图按指定字段group_by分组显示

    注意点: view视图文件中的搜索视图要放在action视图的前边. 在action视图中,要写search_view_id, 还有context, search_default_group_by_字 ...

  8. Java实现敏感词过滤 - IKAnalyzer中文分词工具

    IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...

  9. Linux常用命令之文件搜索命令

    目录 1.最强大的搜索命令:find2.在文件资料库中查找文件命令:locate 一.根据 文件或目录名称 搜索 二.根据 文件大小 搜索 三.根据 所有者和所属组 搜索 四.根据 时间属性 搜索 五 ...

  10. java jdb 调试

    [hadoop@hadoop-01 ~]$ javac -help Usage: javac <options> <source files> where possible o ...