hibernate-validate的基本使用
【摘要】 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) | 被注释的元素必须符合指定的正则表达式 |
被注释的元素必须是电子邮箱地址 | |
@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)