`
k1280000
  • 浏览: 196165 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Hibernate Validator 完成 字段的自动验证

 
阅读更多

如题

 

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

 

 

 

分享到:
评论

相关推荐

    毕业设计:医院在线预约挂号管理系统

    对于每一个功能采取前后端校验,前端使用JQuery验证框架进行表单校验,后端使用HibernateValidator验证框架进行字段校验,保障系统的安全性。权限模块需要使用RBAC权限模式设计数据表,必要时要用SpringMVC框架的...

    JSR303依赖的jar包

    JSR 303 用于对 Java Bean 中的字段的值进行验证。 Spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。 该压缩包包含了hibernate-validator-5.2.4.Final.jar、hibernate-...

    Hibernate Bean Validation jar包

    Bean Validation 规范对 Java Bean 的验证流程如下:在实际使用中调用 Validator.validate(JavaBeanInstance) 方法后,Bean Validation 会查找在 JavaBeanInstance上所有的约束声明,对每一个约束调用对应的约束验证...

    佟刚_JSR303验证.

    JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是 Hibernate Validator。 此实现与 Hibernate ORM 没有任何关系。JSR 303 用于对 Java Bean 中的字段的值 进行验证。

    HibernateValidatorJSR303的参考实现使用指南.pdf

    8. Hibernate Validator Specifics 8.1. Public API 8.2. Fail fast mode 8.3. Method validation 8.3.1. Defining method-level constraints 8.3.2. Evaluating method-level constraints 8.3.3. Retrieving method...

    okaeri-validator:受Java EE启发的简单Java Bean字段验证器

    受Java EE验证实践启发的简单Java Bean字段验证器。 图书馆部分抱怨,但预计不会。 主要目标是相对较小的源代码大小(〜15kB),而不是将带有Jakarta EE的Hibernate验证器与其他jar大小相加2MB结束。 安装 玛文 将...

    javaee6 Bean Validation中文pdf参考手册

    Bean Validation是JAVA EE 6 中的一项子规范,叫做Bean Validation,官方参考实现是Hibernate Validator,此实现与Hibernate ORM 没有任何关系。JSR 303 用于对Java Bean 中的字段的值 进行验证。

    springmvcvalidator

    我们将使用Hibernate验证器Hibernate验证器可用于验证数据,这在应用程序的每一层中都是非常重要的问题。 例如,提交HTML表单时验证非常重要。 Hibernate验证程序框架提供了许多注释,可用于根据约束来验证表单的...

    lamp-cloud微服务脚手架

    基于Mybatis-plus-generator自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger注解等。 16、定时任务调度器: 基于xxl-jobs进行了...

    lamp-cloud微服务脚手架-其他

    基于Mybatis-plus-generator自定义了一套代码生成器, 通过配置数据库字段的注释,自动生成枚举类、数据字典注解、SaveDTO、UpdateDTO、表单验证规则注解、Swagger注解等。 16、定时任务调度器: 基于xxl-jobs进行了...

    java面试宝典

    139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 35 140、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)? 36 141、使用useBean标志初始化BEAN时如何接受初始化...

    千方百计笔试题大全

    139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 35 140、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)? 36 141、使用useBean标志初始化BEAN时如何接受初始化...

Global site tag (gtag.js) - Google Analytics