hibernate Validation 注解中,@Size@Length 注解的含义和区别
Posted 猎人在吃肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate Validation 注解中,@Size@Length 注解的含义和区别相关的知识,希望对你有一定的参考价值。
@Size(min=, max=)
,完整包名是 javax.validation.constraints.Size
,
验证实 体类中 类型是(Array、Collection、Map、String)的属性的长度长度是否在给定的范围之内。
@Length(min=, max=)
,完整包名是 org.hibernate.validator.constraints.Length
验证 实体类中 String 类型 属性的长度 是否在给定的范围之内。
由于@Size
可适用各种类型的长度验证, 具有通用性,推荐使用 。
@Min
验证 Number 和 String 对象是否大等于指定的值
@Max
验证 Number 和 String 对象是否小等于指定的值。
public class UserVO
@NotNull(message = "用户ID不能为空",groups = Update.class)
private Integer id;
@NotBlank(message = "姓名不能为空")
@Length(message = "姓名位数区间min-max",min = 2,max = 5,groups = Insert.class, Update.class)
private String name;//姓名
@Size(message = "爱好最多max个爱好",max = 3,groups = Insert.class, Update.class)
private List<String> hobbyList;
@NotNull(message = "住址不能为空")
@Size(min = 2,max = 4,message = "住址长度min-max",groups = Insert.class, Update.class)
private String address;
@Range(message = "年龄必须在min-max之间", min = 20, max = 40,groups = Insert.class, Update.class)
private Integer age;
private String sex;
//===========================
@GroupSequence(Insert.class,Update.class)
public interface AllGroup
/**
* 必须继承 Default组,否则groups = Insert.class, Update.class 不支持单个校验
*/
public interface Insert extends Default
public interface Update extends Default
以上是关于hibernate Validation 注解中,@Size@Length 注解的含义和区别的主要内容,如果未能解决你的问题,请参考以下文章
hibernate Validation 注解中,@Size@Length 注解的含义和区别
hibernate validation内置注解及自定义注解