hibernate-validate的基本使用

举报
兴趣使然的草帽路飞 发表于 2021/06/08 22:50:03 2021/06/08
【摘要】 1. hibernate-validate注解 Constraint详细信息@Valid被注释的元素是一个对象,需要检查此对象的所有字段值@Null被注释的元素必须为 null@NotNull被注释的元素必须不为 null@AssertTrue被注释的元素必须为 true@AssertFalse被注释的元素必须为 false@Min(value)被注释的元素必须是一个...

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 引入依赖

<!-- hibernate-validator -->
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.3.6.Final</version>
</dependency>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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 方法略
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48

4. controller


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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

文章来源: csp1999.blog.csdn.net,作者:兴趣使然の草帽路飞,版权归原作者所有,如需转载,请联系作者。

原文链接:csp1999.blog.csdn.net/article/details/111409639

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。