@NotNull groups不起作用
时间: 2023-12-16 15:05:25 浏览: 33
根据提供的引用内容,@NotNull注解是用在基本类型上的,而groups是用来指定校验分组的。如果@NotNull的groups不起作用,可能是因为没有正确指定分组或者没有开启分组校验。可以尝试在实体类或者Controller层的接口参数中加入@Validated注解,并在@NotNull注解中指定正确的分组信息。另外,需要确保在配置文件中开启了分组校验。具体实现可以参考提供的引用内容中的解决方案。
相关问题
@NotNull groups
@NotNull注解中的groups参数用于指定验证分组。通过在注解中配置groups属性,可以根据不同的场景对字段进行验证。比如在User类中,我们可以将username字段配置为TestNotNull.class分组,这样在验证时只会判断username是否为空。而password字段没有配置相同的groups属性,所以不会进行验证。\[1\]
groups参数需要指定一个接口,可以使用service的接口,也可以在controller中重新创建一个接口。javax.validation包中提供了一个默认分组Default.class,当不指定分组时,会执行这个默认分组的验证。\[2\]
总结来说,@NotNull注解的groups参数用于指定验证分组,可以根据不同的场景对字段进行验证。通过在注解中配置groups属性,可以控制哪些字段需要进行验证。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* [@NotNull 注解中groups 的用法](https://blog.csdn.net/xc_nostalgia/article/details/109644468)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [@NotNull()中group 的认识](https://blog.csdn.net/qq_38457494/article/details/122596739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
@NotNull groups =、
@NotBlank(groups = Create.class,message = "name 不能为空")
这段代码的意思是在创建(Create)操作时对name字段进行非空校验,如果name为空,则会返回提示信息"name不能为空"。
@NotNull(groups = {Update.class,Create.class},message = "createTime 不能为空")
这段代码的意思是在更新(Update)和创建(Create)操作时对createTime字段进行非空校验,如果createTime为空,则会返回提示信息"createTime不能为空"。
groups用于分组校验,在对数据进行不同操作时,我们可能对不同的字段有不同的非空校验要求。比如在更新操作时,字段A和B都不能为空,而在创建操作时,字段A和C不能为空,字段B可以为空。如果不使用分组校验,则需要在每个方法中单独对字段进行校验,而使用分组校验可以将需要校验的字段分为一组,校验的时候只需要按组去校验字段,代码更加优雅和简洁。
在Controller层进行参数校验时,只需要在参数前面加上@Validated注解,并配置需要校验的组。例如,在创建操作中,使用@Validated(User.Create.class)对User对象进行校验,而在更新操作中,使用@Validated(User.Update.class)对User对象进行校验。这样就可以根据不同的操作类型来指定不同的校验规则。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)