<!-- 参数校验器 -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
手机号
@NotNull(message = "手机号码不能为空")
@Pattern(regexp = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(166)|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$", message = "手机号码范围不正确")
private String phone;
@NotEmpty(message = "手机号不能为空")
@Pattern(regexp = "^1[0-9]{10}$", message = "手机号不合法")
private String phone; // 手机号
最小值、最大值
@NotNull(message = "同步频率不为空")
@Min(1)
@Max(23)
private Integer frequency;
字符串
@NotEmpty(message = "用户名不能为空")
@Size(min = 2, max = 30, message = "用户名应该在2-30字符之间")
private String userName; // 用户名
使用1
@Service("validateService")
public class ValidateService {
@Autowired
private Validator validator;
public void validate(Object obj) {
Set<ConstraintViolation<Object>> resultSet = validator.validate(obj);
if (resultSet == null || resultSet.isEmpty()) {
return;
}
resultSet.stream().forEach(item -> {
throw new RuntimeException("参数异常");
});
}
}
使用2
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<User>> violations = validator.validate(user);
if (violations != null) {
violations.forEach(e->{
System.out.println(e.getMessage());
});
}