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注解列表

hibernate validation内置注解及自定义注解

Hibernate Validation各注解的用法

如何使用java validation api进行参数校验----Hibernate-Validation

自定义hibernate后端参数验证注解