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文件中添加以下依賴即可
1
2
3
4
|
< dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-validation</ artifactId > </ dependency > |
記得在校驗的屬性上面加上對應的注解,同時需要在該類的上方加上@Valiated開啟JSR303數據校驗的注解,如一下代碼:
1
2
3
4
5
6
7
8
9
10
11
12
|
@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; |
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/sky_ground/article/details/78674257