如题
1. maven 中引入
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency>
2.使用
public class Content { @NotNull private String name; @Pattern(regexp="//d") private String amountAndUnit; private double price; }
3. 验证
public class Test { public static void main(String[] args) { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); Content content = new Content(); content.setAmountAndUnit("sgsd"); Set<ConstraintViolation<Content>> constraintViolations = validator .validate(content); Iterator<ConstraintViolation<Content>> it = constraintViolations .iterator(); while (it.hasNext()) { ConstraintViolation<Content> t = it.next(); System.out.println(t.getPropertyPath() + "=" + t.getInvalidValue() + ", " + t.getMessage()); } } }
输出:
amountAndUnit=sgsd, 需要匹配正则表达式"//d" name=null, 不能为null
Hibernate-validator是JSR303的一个实现。JSR303中定义了一种可以用Annotation来验证EntityBean信息 有效性的方式。虽然叫Hibernate-validator,但它是一个单独的jar文件,完全可以脱离Hibernate使用和扩展。
参考
http://docs.jboss.org/hibernate/validator/4.2/reference/zh-CN/html_single/
附上一个与springmvc 集成的example
http://blog.csdn.net/wuyt2008/article/details/8597312
相关推荐
在本小例子中,我们将学习如何使用 Hibernate Validator 来实现常见的验证场景,并自定义错误信息。 **使用环境** 本示例项目采用 Gradle 作为构建工具,这意味着你可以通过编写 Gradle 配置文件来管理项目的依赖...
《Hibernate Validator 使用指南》 Hibernate Validator 是一个强大的Java Bean验证框架,它基于JSR-303(Bean Validation)标准,提供了丰富的验证规则和自定义约束能力,使得开发者能够更方便地对Java对象进行...
在 Spring 应用中,Hibernate Validator 可以与 Spring 的数据绑定和验证机制无缝集成,通过 `@Validated` 或 `@Valid` 注解,可以在控制器方法参数中自动进行验证。 总的来说,"hibernate validator demo" 提供了...
Hibernate Validator 5.0.3版本是该实现的特定版本,本手册将详细介绍如何使用这一版本进行验证。 在开始之前,需要进行项目设置。这部分内容将涉及到统一表达式语言(Unified EL)和依赖注入(CDI)2.1规范的介绍...
综上所述,这个压缩包包含的内容可能涵盖了Spring MVC与Hibernate Validator的集成使用,以及一个具体的用户注册登录验证示例,对于学习和理解如何在实际项目中进行数据验证具有很高的参考价值。通过深入研究这些...
同时,Hibernate Validator也支持跨字段验证,如@Validated和@GroupSequence,使得我们可以根据特定的验证顺序和场景来验证对象。 压缩包中的文件"hibernate-validator-5.1.2"很可能包含以下内容:Hibernate ...
2. **约束应用**:Hibernate Validator通过注解的形式定义数据验证规则,这些注解可以被应用于字段、属性或类级别。例如,`@NotNull`用于确保一个字段或属性不为空,而`@Size`则可以限制字符串、集合等类型的大小...
Hibernate Validator 提供了一系列预定义的验证注解,如`@NotNull`、`@Size`、`@Pattern`等,可以直接在字段上声明以进行基本的验证。例如: ```java public class User { @NotNull private String name; @Size...
在实际应用中,我们通常将这些注解添加到实体类的属性上,然后在处理数据时,Hibernate Validator会自动进行验证。如果验证失败,它会抛出一个`ConstraintViolationException`,包含详细的错误信息,以便开发者能够...
1. 验证注解:Hibernate Validator 提供了一系列预定义的验证注解,如 `@NotNull`、`@Size`、`@Pattern` 等,可以直接在字段上使用,简单而直观地定义验证规则。 2. 自定义验证:除了预定义的注解,用户还可以通过...
1. **约束注解**:Hibernate Validator 提供了一系列内置的约束注解,例如 @NotNull、@Size、@Email、@Pattern 等,可以直接在字段或方法上使用,以声明验证规则。这些注解可以单独使用,也可以组合使用,满足各种...
- UnifiedEL:统一表达式语言,Hibernate Validator支持在表达式中使用校验注解。 - CDI:上下文依赖注入,Hibernate Validator可以与CDI无缝集成,便于在应用中管理校验器的生命周期。 - 安全管理器:可以在有...
当控制器接收到请求后,Spring会自动调用Hibernate Validator来执行验证,如果数据不合法,将会抛出异常并返回相应的错误信息。 此外,Hibernate Validator还支持分组验证,通过定义不同的验证组,可以在不同的业务...
1. 注解:Hibernate Validator 提供了一系列预定义的注解,如 @NotNull、@Min、@Max、@Size、@Pattern 等,用于标记字段并指定验证规则。此外,还可以自定义注解并实现相应的约束验证器。 2. 验证器:验证器是执行...
Hibernate Validator是Java世界中的一款强大且广泛使用的验证框架,其5.0.1.Final版本是该框架的一个稳定版本,旨在提供高效、灵活的Bean属性验证功能。在本文中,我们将深入探讨Hibernate Validator的核心特性,...
与Spring框架的无缝集成,允许在Spring MVC中直接使用Hibernate Validator进行表单验证,简化了控制器的代码。 六、性能优化 4.2.0.Final版本对性能进行了优化,提升了大规模验证场景下的效率,并且增加了对CDI...
4. **控制器处理**:在控制器方法中,使用`@Valid`注解标记需要验证的参数,Spring会自动调用Hibernate Validator进行验证。 ```java @RequestMapping(method = RequestMethod.POST) public String register(@Valid...
使用 Hibernate Validator 需要引入对应的依赖库,包括 Hibernate Validator 和 Bean Validation API。 2.2 SpringMvc 中配置 在 Spring MVC 中,可以通过配置 Hibernate Validator 的约束注解处理器,使其自动处理...
3. **表达式语言支持**:Hibernate Validator支持使用EL(Expression Language)表达式进行复杂的验证条件判断,如@AssertTrue和@AssertFalse可以基于对象属性之间的关系进行验证。 4. **国际化支持**:通过提供...
在 Spring 应用中,可以通过配置将 Hibernate Validator 作为默认的验证器,从而在服务层方法参数、模型属性等地方自动执行验证。 7. **国际化支持** Hibernate Validator 支持国际化错误消息,可以为不同语言...