hibernate-validate的基本使用
发布日期:2021-06-29 18:10:35 浏览次数:2 分类:技术文章

本文共 2041 字,大约阅读时间需要 6 分钟。

1. hibernate-validate注解

Constraint 详细信息
@Valid 被注释的元素是一个对象,需要检查此对象的所有字段值
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式
@Email 被注释的元素必须是电子邮箱地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range 被注释的元素必须在合适的范围内
@NotBlank 被注释的字符串的必须非空
@URL(protocol=,host=, port=,regexp=, flags=) 被注释的字符串必须是一个有效的url
@CreditCardNumber 被注释的字符串必须通过Luhn校验算法,银行卡,信用卡等号码一般都用Luhn计算合法性

2. pom.xml 引入依赖

org.hibernate
hibernate-validator
5.3.6.Final

3. user 实体类

/** * @Auther: csp1999 * @Date: 2020/12/17/21:07 * @Description: 用户实体类 */@Table(name = "tb_user") // tk_mapper 注解public class User {
/** * 主键id */ @Id // tk_mapper 注解 @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; /** * 用户名(4-30位) * * hibernate-validator注解:被注释的字符串的大小必须在指定的范围内 * min:最小长度 * max:最大长度 * message:不符合条件时提示信息 */ @Length(min = 4,max = 30,message = "用户名必须在4-30位之间") private String username; /** * 密码 */ @JsonIgnore // 对象序列化为json 字符串时,忽略该属性,这样就可以不暴漏密码到前端 @Length(min = 4,max = 12,message = "用户密码必须在4-12位之间") private String password; /** * 电话 * * hibernate-validator注解:被注释的元素必须符合指定的正则表达式 * regexp = "^1[356789]\\d{9}$" : 满足电话号码的格式 */ @Pattern(regexp = "^1[356789]\\d{9}$",message = "电话格式不合法") private String phone; /** * 创建时间 */ private Date created; // setter/getter 方法略}

4. controller

/** * 用户注册 * * @param user 用户 * @param code 验证码 */@PostMapping("/register")@ResponseBodypublic String register(@Valid User user) {
String msg = userService.register(user); return msg;}

转载地址:https://csp1999.blog.csdn.net/article/details/111409639 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:大三上学期就要结束了,为下学期找实习,立个Flag!
下一篇:一小时学会使用SpringBoot整合阿里云SMS短信服务

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月05日 19时07分15秒