使用JSR303进行校验
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 {