表 1. Bean Validation 中内置的 constraint
Constraint 详细信息
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min) 被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式
表 2. Hibernate Validator 附加的 constraint
Constraint 详细信息
@Email 被注释的元素必须是电子邮箱地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty 被注释的字符串的必须非空
@Range 被注释的元素必须在合适的范围内
一个 constraint 通常由 annotation 和相应的 constraint validator 组成,它们是一对多的关系。也就是说可以有多个 constraint validator 对应一个 annotation。在运行时,Bean Validation 框架本身会根据被注释元素的类型来选择合适的 constraint validator 对数据进行验证。
有些时候,在用户的应用中需要一些更复杂的 constraint。Bean Validation 提供扩展 constraint 的机制。可以通过两种方法去实现,一种是组合现有的 constraint 来生成一个更复杂的 constraint,另外一种是开发一个全新的 constraint。
相关推荐
- **约束注解(Constraint Annotation)**:Bean Validation 提供了一系列内置的约束注解,如`@NotNull`、`@Min`、`@Max`等,用于标记在实体类上的字段,定义验证规则。 - **验证器(Validator)**:验证器负责执行...
**BeanValidation:深入理解Bean验证** BeanValidation是Java平台上的一个标准验证框架,它提供了一种声明式的方式来验证对象的属性。这个项目主要是对BeanValidation 1.1版本的深入研究,通过视频教程来帮助开发者...
综上所述,Bean Validation 是 Java 开发中不可或缺的一个工具,它提供了统一的数据验证标准,简化了数据校验的复杂性,提高了代码的可读性和可维护性。通过阅读《bean-validator+中文参考手册》提供的文档,开发者...
在Java EE和Spring等框架中,Bean Validation扮演着关键的角色,确保数据的完整性和一致性。 ### 1. JSR 303介绍 JSR 303全称为Java Specification Request 303,是Java Community Process(JCP)发布的一个关于...
**Spring Boot与JSR 303:Bean Validation 1.1在独立应用程序中的应用** 在Java开发领域,Spring Boot以其简洁的配置和强大的功能深受开发者喜爱。它极大地简化了创建生产级的Java应用程序的过程。而JSR 303(Bean ...
在这个场景中,我们关注的两个关键jar包是`hibernate-validator-5.2.2.Final.jar`和`validation-api-1.1.0.Final.jar`,它们都是实现JSR-303和JSR-349(即Bean Validation)规范的重要组件。 **Hibernate Validator...
1.2 Bean Validation 中的 constraint Bean Validation 提供了一系列的预定义约束注解,例如 @NotNull、@Size、@Min、@Max 等,这些注解可以直接应用到 JavaBean 的字段上,用于指定验证规则。例如,@NotNull 用于...
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/> ``` 或者在Spring Boot项目中,由于Spring Boot已经默认集成了Hibernate Validation,我们通常无需额外...
Hibernate Validation 是一个强大的 Java Bean 验证框架,它是 JSR-303(Java Bean Validation)规范的实现,后来在 JSR-349 中进行了扩展,增加了更多的验证注解和功能。这个框架使得开发者能够在 Java 应用程序中...
在"validation-api-1.1.0.cr1.jar"中,定义了一系列预设的约束注解,如@NotNull、@Size、@Min、@Max等,这些可以直接应用到bean的字段上。 使用JSR303进行数据验证的基本步骤如下: 1. **定义约束**:在模型类的...
在Java世界中,`Validator` 特别指的是JSR 303/JSR 349(Bean Validation)规范的实现,如Hibernate Validator。这个规范为Java应用程序提供了统一的数据校验机制,可以应用于模型对象的属性上,以验证用户输入或...
在Java EE 5及以后的版本中,JSR 303(Bean Validation 1.0)和JSR 349(Bean Validation 1.1)定义了这一规范,而在Java EE 7中,Bean Validation 1.2被引入,进一步提升了其功能和灵活性。在Java世界里,Hibernate...
- 说明如何在实际应用中使用 Bean Validation。 #### 五、约束元数据请求 API - **5.1 Validator** - 提供获取约束元数据的方法。 - **5.2 ElementDescriptor** - 描述约束元数据的元素。 - **5.3 ...
3. `validation-api-1.1.0.cr1.jar`:这是Bean Validation API的实现,包含了JSR303/JSR349规范定义的接口和类,如`javax.validation.Constraint`、`javax.validation.ConstraintValidator`等,是所有JSR303实现的...
`@Valid`注解是Java Bean Validation框架的一部分,它可以帮助我们方便地在控制器层对请求参数进行验证。Spring Boot集成了Bean Validation,使得我们可以利用这个功能强大的工具进行有效且便捷的数据校验。 在`@...
SpringMVC提供了多种方式进行数据验证,包括使用JSR-303/JSR-349(Bean Validation)标准以及自定义验证注解。 1. **使用JSR-303/JSR-349 (Bean Validation)** Bean Validation 提供了一种统一的验证API,允许在...
这个依赖包含了Hibernate的验证API,它是JSR-380(Java Bean Validation)的实现,使得我们可以方便地对Java对象的属性进行校验。 接下来,我们来看如何在Spring Boot中使用`@Validated`注解进行接口参数的校验。当...