Spring Boot使用Hibernate-Validator校验参数时的长度校验方法详解

 更新时间:2023年08月18日 10:14:41   作者:小猪吃米饭  
这篇文章主要给大家介绍了关于Spring Boot使用Hibernate-Validator校验参数时的长度校验方法的相关资料,在Spring Boot中可以使用Spring Boot Validation来对参数名称进行校验,需要的朋友可以参考下

今天在使用Validator框架数据验证的时候碰到了三个类似的注解,都是用来限制长度,但是用法上有区别:

1,@Size和@Length

@Data
public class LoginVo {
    @Length(min = 5, max = 17, message = "userName长度须在[5,17]") // 可以为 null,若不为 null,则长度为 [5, 17]
    private String userName;
    // @Size不能验证Integer,适用于String
    @Size(min = 1, max = 3, message = "password长度须在[1,3]")
    private String password;
    @Size(min = 1,max = 5,message = "list的Size在[1,5]") // list 可以为 null,若不为 null,则长度为 [1, 5]
    private List<String> list;
    @NotNull
    @Valid // 级联校验,该注解将会校验自定义类
    private OrderItem detailInfo;
}

 @Size是一个Bean验证注释,用于验证关联的String具有的长度受最小值和最大值限制的值.

 @Length是一个Hibernate特定的注释,与@Size具有相同的含义;

两者的区别:

​ 用@length限制长度为100,@length验证的应该为100个字符的长度,如99个汉字+2个数字,@length并不会报错;

​ 但用@size限制长度为100,同样情况下则会报错,即超出限制长度

​ 综上,@length限制长度为字符长度,@size限制长度为个数长度,@size为限制长度通用格式

2,@Colunm

@Entity
@Data
public class MyEntity {
    @Column(name = "MY_FIELD_1", length=13)
    private String myField1;
    @Column(name = "MY_FIELD_2")
    @Size(min = 13, max = 13)
    private String myField2;
    @Column(name = "MY_FIELD_3")
    @Length(min = 13, max = 13)
    private String myField3;
}

同样的在实体类当中可以定义@Colunm注解当中设置length属性。这是一个JPA注释,并且length属性由模式生成工具用于设置关联的SQL列长度,与DDL有关

总结

到此这篇关于Spring Boot使用Hibernate-Validator校验参数时的长度校验方法的文章就介绍到这了,更多相关SpringBoot Validator校验参数长度校验内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot3解决跨域的几种方式小结

    springboot3解决跨域的几种方式小结

    这篇文章主要介绍了springboot3解决跨域的几种方式,文中通过代码示例给大家介绍的非常详细,对大家的解决跨域有一定的帮助,需要的朋友可以参考下
    2024-03-03
  • java使用ArrayList实现斗地主(无序版)

    java使用ArrayList实现斗地主(无序版)

    这篇文章主要为大家详细介绍了java使用ArrayList实现斗地主,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • Mybatis插件扩展及与Spring整合原理分析

    Mybatis插件扩展及与Spring整合原理分析

    这篇文章主要介绍了Mybatis插件扩展及与Spring整合原理,本文通过实例文字相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 基于SSM框架实现简单的登录注册的示例代码

    基于SSM框架实现简单的登录注册的示例代码

    这篇文章主要介绍了基于SSM框架实现简单的登录注册的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Spring Security如何基于Authentication获取用户信息

    Spring Security如何基于Authentication获取用户信息

    这篇文章主要介绍了Spring Security如何基于Authentication获取用户信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • MyBatis框架中mybatis配置文件详细介绍

    MyBatis框架中mybatis配置文件详细介绍

    这篇文章主要介绍了MyBatis框架中mybatis配置文件详细介绍,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-01-01
  • JAVA 根据身份证计算年龄的实现代码

    JAVA 根据身份证计算年龄的实现代码

    这篇文章主要介绍了JAVA 根据身份证计算年龄的实例代码及java根据出生日期获得年龄的方法,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • springboot本地调试没问题,打包运行报错原因及分析

    springboot本地调试没问题,打包运行报错原因及分析

    这篇文章主要介绍了springboot本地调试没问题,打包运行报错原因及分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • SpringBoot+JavaMailSender实现腾讯企业邮箱配置

    SpringBoot+JavaMailSender实现腾讯企业邮箱配置

    这篇文章主要介绍了SpringBoot+JavaMailSender实现腾讯企业邮箱配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java PriorityQueue优点和缺点面试精讲

    Java PriorityQueue优点和缺点面试精讲

    这篇文章主要为大家介绍了Java面试中PriorityQueue的优点和缺点及使用注意详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论