Java使用JSR303如何实现自定义校验注解和校验数据

  介绍

这篇文章运用简单易懂的例子给大家介绍Java使用JSR303如何实现自定义校验注解和校验数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> 1,网络项目导入依赖

& lt; !——该依赖默认导入了hibernate验证框架所以不需要再单独导入——比;   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt;/dependency>

下图可以看到spring-boot-starter-web依赖自动引入了hibernate验证框架的;

如果感兴趣的话还可以进入hibernate验证框架的查看引入了什么相关依赖

癑ava使用JSR303如何实现自定义校验注解和校验数据"

<强> 2,默认注解的使用

在需要校验的字段添加不同校验类型的注解

 

下图是自带的所有校验注解,可以进入查看源码的注释查看如何使用

癑ava使用JSR303如何实现自定义校验注解和校验数据"

<强> 3,设置谁需要进行数据校验! ! !

在接口参数需要校验的对象前标注注解* * @Valid * *——标明前台提交数据时该对象的字段需要进行数据校验

/* *   *修改   */@RequestMapping (“/update")   公共R更新(@Valid @RequestBody AttrGroupEntity attrGroup) {   attrGroupService.updateById (attrGroup);      返回R.ok ();   }

由于不同功能的接口接收的对象数据可能需要校验的字段不同,并不是每一个接口接收的对象的所有字段都需要校验的,所以则需要使用“分组校验“来区分不同的业务需要校验不同的字段,在这里我使用新增业务和修改业务为例。

癑ava使用JSR303如何实现自定义校验注解和校验数据“

根据上图可以看的到,默认的注解源码不仅可以设置消息(消息)还有一个可以设置集团(分组)

<强> 1,创建分组接口

/* *   *新增业务分组校验,不需要实现任何业务,只是用来标识身份   */公共接口AddGroup {   } /* *   *修改业务分组校验,不需要实现任何业务,只是用来标识身份   */公共接口UpdateGroup {   }

<强> 2,如何使用分组校验?

2.1,修改Bean每个字段上校验注解,设置组值

 

2.2,设置什么业务需要使用什么分组进行校验

/* *   *保存——使用添加分组校验接口参数对象的字段   */@RequestMapping (“/save")   公共R保存(@Validated (value=https://www.yisu.com/zixun/{AddGroup.class}) @RequestBody BrandEntity品牌){   brandService.save(品牌);      返回R.ok ();   }

Java使用JSR303如何实现自定义校验注解和校验数据