`
happyqing
  • 浏览: 3183551 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Bean Validation 中的 constraint

阅读更多

 

表 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。

分享到:
评论

相关推荐

    Bean Validation 技术规范特性概述

    - **约束注解(Constraint Annotation)**:Bean Validation 提供了一系列内置的约束注解,如`@NotNull`、`@Min`、`@Max`等,用于标记在实体类上的字段,定义验证规则。 - **验证器(Validator)**:验证器负责执行...

    BeanValidation:Bean验证研究项目

    **BeanValidation:深入理解Bean验证** BeanValidation是Java平台上的一个标准验证框架,它提供了一种声明式的方式来验证对象的属性。这个项目主要是对BeanValidation 1.1版本的深入研究,通过视频教程来帮助开发者...

    bean-validator+中文参考手册

    综上所述,Bean Validation 是 Java 开发中不可或缺的一个工具,它提供了统一的数据验证标准,简化了数据校验的复杂性,提高了代码的可读性和可维护性。通过阅读《bean-validator+中文参考手册》提供的文档,开发者...

    Bean Validator JSR303

    在Java EE和Spring等框架中,Bean Validation扮演着关键的角色,确保数据的完整性和一致性。 ### 1. JSR 303介绍 JSR 303全称为Java Specification Request 303,是Java Community Process(JCP)发布的一个关于...

    SpringBootJSR303:带有 JSR 303 的 Spring Boot 应用程序 - 独立应用程序的 Bean Validation 1.1

    **Spring Boot与JSR 303:Bean Validation 1.1在独立应用程序中的应用** 在Java开发领域,Spring Boot以其简洁的配置和强大的功能深受开发者喜爱。它极大地简化了创建生产级的Java应用程序的过程。而JSR 303(Bean ...

    springmvc 使用validation使用的jar包!

    在这个场景中,我们关注的两个关键jar包是`hibernate-validator-5.2.2.Final.jar`和`validation-api-1.1.0.Final.jar`,它们都是实现JSR-303和JSR-349(即Bean Validation)规范的重要组件。 **Hibernate Validator...

    Hibernate Validator校验框架

    1.2 Bean Validation 中的 constraint Bean Validation 提供了一系列的预定义约束注解,例如 @NotNull、@Size、@Min、@Max 等,这些注解可以直接应用到 JavaBean 的字段上,用于指定验证规则。例如,@NotNull 用于...

    springmvc4与hibernate validation校验器完全兼容jar包

    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/> ``` 或者在Spring Boot项目中,由于Spring Boot已经默认集成了Hibernate Validation,我们通常无需额外...

    Hibernate Validation使用示例及讲解

    Hibernate Validation 是一个强大的 Java Bean 验证框架,它是 JSR-303(Java Bean Validation)规范的实现,后来在 JSR-349 中进行了扩展,增加了更多的验证注解和功能。这个框架使得开发者能够在 Java 应用程序中...

    validation-api-1.1.0.cr1.jar

    在"validation-api-1.1.0.cr1.jar"中,定义了一系列预设的约束注解,如@NotNull、@Size、@Min、@Max等,这些可以直接应用到bean的字段上。 使用JSR303进行数据验证的基本步骤如下: 1. **定义约束**:在模型类的...

    Validator

    在Java世界中,`Validator` 特别指的是JSR 303/JSR 349(Bean Validation)规范的实现,如Hibernate Validator。这个规范为Java应用程序提供了统一的数据校验机制,可以应用于模型对象的属性上,以验证用户输入或...

    Validator框架

    在Java EE 5及以后的版本中,JSR 303(Bean Validation 1.0)和JSR 349(Bean Validation 1.1)定义了这一规范,而在Java EE 7中,Bean Validation 1.2被引入,进一步提升了其功能和灵活性。在Java世界里,Hibernate...

    JSR303jar包

    3. `validation-api-1.1.0.cr1.jar`:这是Bean Validation API的实现,包含了JSR303/JSR349规范定义的接口和类,如`javax.validation.Constraint`、`javax.validation.ConstraintValidator`等,是所有JSR303实现的...

    Spring Boot技术知识点:如何使用@Valid注解来对邮箱字段进行数据校验

    `@Valid`注解是Java Bean Validation框架的一部分,它可以帮助我们方便地在控制器层对请求参数进行验证。Spring Boot集成了Bean Validation,使得我们可以利用这个功能强大的工具进行有效且便捷的数据校验。 在`@...

    SpringMVC入门很简单之数据验证

    SpringMVC提供了多种方式进行数据验证,包括使用JSR-303/JSR-349(Bean Validation)标准以及自定义验证注解。 1. **使用JSR-303/JSR-349 (Bean Validation)** Bean Validation 提供了一种统一的验证API,允许在...

    集成spring-boot-starter-validation对接口参数校验.zip

    这个依赖包含了Hibernate的验证API,它是JSR-380(Java Bean Validation)的实现,使得我们可以方便地对Java对象的属性进行校验。 接下来,我们来看如何在Spring Boot中使用`@Validated`注解进行接口参数的校验。当...

Global site tag (gtag.js) - Google Analytics