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

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

绝对不能相信前端传过来的任何数据  @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;

最新文章

  1. Websocket简单例子
  2. 深入探究 WinRT 和 await
  3. 一:c语言(数据类型和运算符)
  4. ASP.NET的新成员ASP.NET WebHooks
  5. linux下的三种解压文件的命令?
  6. Sui 弹框固定
  7. ajax状态码
  8. mongo .update
  9. linux设备驱动层次
  10. 冒泡排序(Bubble Sort)
  11. alfresco 5.0 document
  12. $().each 和 $.each() 两个方法的区别
  13. Hibernate 报错org.hibernate.PropertyAccessException: IllegalArgumentException(已解决)
  14. python中如何单独测试一个函数的作用
  15. 《java入门第一季》之面向对象(重头戏继承来了)
  16. iOS 键盘上方增加工具栏
  17. Confluence 6 使用 WebDAV 客户端来对页面进行操作
  18. 总结sql中in和as的用法
  19. winform,WPF 释放内存垃圾,减少资源占用方法
  20. python2.7之乱码问题

热门文章

  1. Aseprite入门:第一个gif动图
  2. Maven - 在Eclipse中创建Maven项目
  3. Redis 常用操作命令,非常详细!
  4. dedecms中arclist标签做分页以及分页点击模块样式错乱问题
  5. 【mysql】模糊查询的使用
  6. .NetCore外国一些高质量博客分享
  7. 【转载】红外遥控HS0038B接法
  8. spring-boot-2.0.3之quartz集成,不是你想的那样哦!
  9. ZooKeeper系列(6):ZooKeeper的伸缩性和Observer角色
  10. Perl数据序列化和持久化(入门):Storable模块