首页 > 编程技术 > java

javax NotBlank和Email注解失效的解决

发布时间:2021-8-6 16:00

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提供的注解处理器如下:

JSR303-@Email注解报错

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

解决方法:

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

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

记得在校验的属性上面加上对应的注解,同时需要在该类的上方加上@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<String, Object> location;
 private String[] hobbies;
 private List<String> skills;
 private Pet pet;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。

标签:[!--infotagslink--]

您可能感兴趣的文章: