springboot 数据验证

Posted 黄光跃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 数据验证相关的知识,希望对你有一定的参考价值。

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

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

绝对不能相信前端传过来的任何数据  @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 数据验证的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot启动报错“Consider defining a bean of type ‘xxx.mapper.UserMapper‘ in your configuration.“(代码片段

ajaxFileUpload上传带参数文件及JS验证文件大小

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

SpringBoot中表单提交报错“Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“(代码片段

c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。

Spring boot:thymeleaf 没有正确渲染片段