一,@Size、@MinSize、@MaxSize不能验证为null的情况,需要和@NotNull配合使用。
@MaxSize 和 @MinSize只有value属性;表示和value进行比较,判断array,map, or collection大小;
min和max是@size的属性;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class User {
@MinSize(value = 2,message = "mum size大于2")
@MaxSize(value = 4,message = "mum size小于4")
@NotNull(message = "num not be null")
private ArrayList<String> num;
}
验证:
public class Main {
public static void main(String[] args){
Validator validator = new Validator();
User user=new User();
//user.setNum(null);
ArrayList<String> objects = new ArrayList<>();
objects.add("1");
objects.add("2");
objects.add("2");
objects.add("2");
objects.add("2");
user.setNum(objects);
try {
VerifyUtil.validateFullObject(user);
} catch (MerchantServiceException e) {
Result<Object> objectResult = DealExceptionUtil.doExceptionService(e);
System.out.println(objectResult.toString());
}
}
}
结果:
Result{success=false, errorCode=PARAMETER_VALID_NOT_PASS, errorMsg=mum size小于4, primaryErrorCode=MERCHANT-CORE+PARAMETER_VALID_NOT_PASS, primaryErrorMsg=mum size小于4, primaryErrorIP=192.168.11.118}