【java后端校验JSR303】
1.给Bean类添加校验注解.javax.validation.constraints
也可以自定义错误信息 添加属性message
2.controller接收的实体类参数 添加开启校验功能
校验:
3.给校验的bean后紧跟一个BindingResult,就可以获取到校验结果。
4.分组校验(多场景的复杂校验)
1)、
@NotBlank(message = "品牌品不能为空",groups = {UpdateGroup.class,AddGroup.class})
给校验注解标注什么情况需要进行校验
2)、@Vaildated({AddGroup.class})
此时字段名没有标注分组属性的默认不使用的
3)、默认没有指定分组的校验注解@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 {