@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{ }
  
}
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐