spring自带validator各种包,直接上代码:
@Data
public class Foo {
@NotBlank(message="name 不能为空")
private String name;
@Min(18)
private Integer age;
@Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
@NotBlank(message = "手机号码不能为空")
private String phone;
@Email(message = "邮箱格式错误")
private String email;
public static void main(String[] args) {
Foo foo = new Foo();
foo.setAge(45);
foo.setPhone("15910462582");
foo.setEmail("33@qq.com");
ValidatorFactory vf = Validation.buildDefaultValidatorFactory(); // 手动创建一个validator验证器
Validator validator = vf.getValidator();
Set<ConstraintViolation<Foo>> validate = validator.validate(foo);
for (ConstraintViolation<Foo> constraintViolation : validate) {
System.out.println(constraintViolation.getMessage());
}
}
}
校验结果是个list,validate.isEmpty() 如果为true就是没错,
否则,就是有错误信息。
常用的注解(Jakarta bean的):
https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#validator-defineconstraints-spec