Hibernate Validator 使用及自定义校验器注解 Hibernate Validator 是 Hibernate 提供的一种对 Bean Validation 规范的实现,用于对 Java Bean 中的字段的值进行验证。它提供了一系列的注解来实现参数校验。 Hibernate Validator 的常用注解: 1. @Null:必须为空 2. @NotNull:不能为空 3. @AssertTrue:必须为 true 4. @AssertFalse:必须为 false 5. @Min:必须为数字,其值大于或等于指定的最小值 6. @Max:必须为数字,其值小于或等于指定的最大值 7. @DecimalMin:必须为数字,其值大于或等于指定的最小值 8. @DecimalMax:必须为数字,其值小于或等于指定的最大值 9. @Size:集合的长度 10. @Digits:必须为数字,其值必须再可接受的范围内 11. @Past:必须是过去的日期 12. @Future:必须是将来的日期 13. @Pattern:必须符合正则表达式 14. @Email:必须是邮箱格式 15. @Length:长度范围 16. @NotEmpty:不能为 null,长度大于 0 17. @NotBlank:不能为 null,字符串长度大于 0(限字符串) 18. @Range:元素的大小范围 在使用 Hibernate Validator 时,需要先进行为 null 判断,否则其他注解有的不会生效。例如,username 加了 @Length 而不加 @NotNull 注解,当没有输入 username,那么 @Length 判断将不会生效。判断为 null 的有 @NotNull、@NotEmpty 以及 @NotBlank。 创建测试类时,需要引入 Hibernate Validator 的依赖: ``` <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.15.Final</version> </dependency> ``` 在 Controller 中使用 @Valid 注解来对参数进行校验。如果对参数校验发现有误,会将错误注入到 BindingResult 中。 ``` @Valid public void test(@Valid User user, BindingResult bindingResult) { if (bindingResult.hasErrors()) { List<ObjectError> errors = bindingResult.getAllErrors(); for (ObjectError error : errors) { System.out.println(error.getDefaultMessage()); } } } ``` 自定义校验器注解是 Hibernate Validator 提供的一种机制,允许开发人员根据自己的需求创建自定义的校验器注解。自定义校验器注解可以继承自 Hibernate Validator 的 ConstraintValidator 接口,并实现 validate 方法来实现自己的校验逻辑。 Hibernate Validator 是一个功能强大且灵活的参数校验框架,提供了一种简单而且高效的方式来实现参数校验,并且可以根据自己的需求创建自定义的校验器注解。
- 粉丝: 5
- 资源: 906
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 阿里云OSS Java版SDK.zip
- 阿里云api网关请求签名示例(java实现).zip
- 通过示例学习 Android 的 RxJava.zip
- 通过多线程编程在 Java 中发现并发模式和特性 线程、锁、原子等等 .zip
- 通过在终端中进行探索来学习 JavaScript .zip
- 通过不仅针对初学者而且针对 JavaScript 爱好者(无论他们的专业水平如何)设计的编码挑战,自然而自信地拥抱 JavaScript .zip
- 适用于 Kotlin 和 Java 的现代 JSON 库 .zip
- yolo5实战-yolo资源
- english-chinese-dictionary-数据结构课程设计
- mp-mysql-injector-spring-boot-starter-sql注入