使用JSR303進行校驗
阿新 • • 發佈:2020-10-08
4、JSR303
-
1)、給Bean新增校驗註解:javax.validation.constraints,並定義自己的message提示
-
2)、開啟校驗功能@Valid
-
效果:校驗錯誤以後會有預設的響應;
-
3)、給校驗的bean後緊跟一個BindingResult,就可以獲取到校驗的結果
-
4)、分組校驗(多場景的複雜校驗)
-
a)、 @NotBlank(message = "品牌名必須提交",groups = {AddGroup.class,UpdateGroup.class})
-
給校驗註解標註什麼情況需要進行校驗
-
b)、@Validated({AddGroup.class})
-
c)、預設沒有指定分組的校驗註解@NotBlank,在分組校驗情況@Validated({AddGroup.class})下不生效,只會在@Validated生效;
-
5)、自定義校驗
-
1)、編寫一個自定義的校驗註解
-
2)、編寫一個自定義的校驗器 ConstraintValidator
-
3)、關聯自定義的校驗器和自定義的校驗註解
-
* @Documented
-
* @Constraint(validatedBy = { ListValueConstraintValidator.class【可以指定多個不同的校驗器,適配不同型別的校驗】 })
-
* @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE })
-
* @Retention(RUNTIME)
-
* public @interface ListValue {