javax NotBlank和Email注解失效的解决

javax NotBlank和Email注解失效

使用javax的NotBlan和Email注解,

结果报类似错误

no validator could be found for constraint 'javax.validation.constraints.notblank'

原来是由于javax只提供了注解的定义,未提供对应的处理器,一般使用hibernate提供的注解处理器。

但是hibernate未提供NotBlank和Email注解的处理器(但是hibernate自己定义的NotBlank和Email注解是有处理器的)

所以在使用NotBlank或Email时,

注意使用hibernate的注解,如下:

hibernate提供的注解处理器如下:

javax NotBlank和Email注解失效的解决_第1张图片

JSR303-@Email注解报错

SpringBoot用到 JSR303 校验邮箱 @Email注解报错

解决方法:

是因为缺少依赖,在pom.xml文件中添加以下依赖即可


 org.springframework.boot
 spring-boot-starter-validation

记得在校验的属性上面加上对应的注解,同时需要在该类的上方加上@Valiated开启JSR303数据校验的注解,如一下代码:

@Validated  //开启jsr303数据校验的注解
public class Student { 
 @Email
 private String email; 
 private String name;
 private int age;
 private boolean sex;
 private Date birthday;
 private Map location;
 private String[] hobbies;
 private List skills;
 private Pet pet;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(javax NotBlank和Email注解失效的解决)