validation
时间: 2023-09-23 22:05:47 浏览: 100
Validation是一种用于校验数据的框架,它提供了一系列的注解和工具类,用于对数据进行验证。在Java中,有两个常用的校验注解:@Valid和@Validated。这两个注解的功能大部分相似,但也有一些区别。
@Valid注解属于javax.validation包下的注解,而@Validated注解属于Spring框架下的注解。@Valid注解支持嵌套校验,即可以对对象中的属性进行递归校验,而@Validated注解不支持嵌套校验。另外,@Validated注解支持分组校验,可以根据不同的分组对数据进行不同的校验,而@Valid注解不支持分组校验。
在实际业务中,如果需要对数据进行校验,可以使用已有的校验注解,如@NotNull、@Size等。但是有时候这些注解可能无法满足业务需求,这时可以考虑自定义Validation注解。自定义Validation注解可以通过编写自定义的校验器来实现对数据的校验。
使用@Validated注解时,可以在需要校验的Model上加上@Valid注解。同时,可以使用通用的Validator校验工具类来对对象进行校验。该工具类使用了Java的Validator接口来进行校验,可以根据校验结果抛出异常或返回校验结果。
总结起来,Validation是一种用于校验数据的框架,提供了@Valid和@Validated两个注解,可以用于对数据进行校验。@Valid注解属于javax.validation包下的注解,支持嵌套校验;@Validated注解属于Spring框架下的注解,支持分组校验。自定义Validation注解可以通过编写自定义的校验器来实现对数据的校验。可以使用通用的Validator校验工具类来对对象进行校验。
#### 引用[.reference_title]
- *1* *2* [SpringBoot使用Validation校验参数](https://blog.csdn.net/justry_deng/article/details/86571671)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Java类属性字段校验(validation的使用)](https://blog.csdn.net/rao991207823/article/details/117001686)[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^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文