beanvalidation实战

原创 2015年11月19日 12:43:22

maven pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.bj.beanvalidation</groupId>
  <artifactId>demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <dependencies>
  	<dependency>
  		<groupId>org.hibernate</groupId>
  		<artifactId>hibernate-validator</artifactId>
  		<version>5.0.0.Final</version>
  	</dependency>
  </dependencies>
</project>

示例代码:

package com.bj.beanvalidation.entity;

import java.util.Set;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;


public class User {
	@NotNull(message = "姓名不能为空")
	@Length(min = 5, max = 30, message = "名字长度为5~30")
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public static void main(String[] args) {
		ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
		Validator validator = factory.getValidator();
		User user = new User();
		user.setName("xx");
		Set<ConstraintViolation<User>> violations = validator.validate(user);

		StringBuffer buf = new StringBuffer();
		for (ConstraintViolation<User> violation : violations) {
			buf.append( violation.getPropertyPath().toString()+"\t");
			buf.append(violation.getMessage() + "\n");
		}
		System.out.println(buf);

	}
}

输出结果:

2015-11-19 11:58:15 org.hibernate.validator.internal.util.Version <clinit>
INFO: HV000001: Hibernate Validator 5.0.0.Final
name    名字长度为5~30


相关文章推荐

Error creating bean 'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0'

SPRING版本:4.3.4.RELEASE SpringMvc版本:4.3.4.RELEASE Dubbo版本:2.8.4 增加mvc注解mvc:annotation-driven />直接报错 ...

JavaEE6核心特征:BeanValidation解析

Bean Validation是Java EE 6数据验证新框架,Validation API并不依赖特定的应用层或是编程模型,这样同一套验证可由应用的所有层共享。它还提供了通过扩展Validatio...

Java BeanValidation

SR(Java Specification Requests,Java规范提案) 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。2009 年...

WKWebView与JS交互实战技巧之API介绍

前言前一章我给大家介绍了iOS与HTML5的交互,用的是UIWebView,今天给大家介绍另外一种基于 iOS 8 新推出的 WKWebView 组件,构建出自己的混合开发框架。WKWebView 简...

[Unity实战]详解换装系统(三)

在阅读本文章之前,本人强烈建议你先看看本系列的前两篇文章,对换装系统有一些了解后再继续! 在上一篇文章中,运行之后是这样的: 我们的target上挂上各种类型的mesh,而每一个m...
  • lyh916
  • lyh916
  • 2015年04月01日 22:23
  • 3411

Android 手势检测实战 打造支持缩放平移的图片预览效果(上)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39474553,本文出自:【张鸿洋的博客】1、背景现在app中,图片预览功能肯定是...

第102讲: 动手实战Spark Streaming自定义Receiver并进行调试和测试

1:SparkStreaming虽然说已经支持了很多不同类型的数据来源。但是有时候可能我们的一些数据来源非常特殊 ,不是它天然默认支持的,这时候就要自定义Receiver。而自定义Receiver,一...

JUnit 实战第二版 中文目录

java Junit in Action

【读书笔记—Hadoop实战】认识hadoop

hadoop是一个开源的框架,可编写和
  • XBWer
  • XBWer
  • 2014年06月29日 10:14
  • 4580

Go实战--go语言中执行shell脚本(The way to go)

生命不止,继续go go go !!!接触linux的人对shell一定不陌生,君不见那些噼里啪啦敲的飞快的服务端程序猿都是在键入,ls cd cat 等。何为shell? Simply put, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:beanvalidation实战
举报原因:
原因补充:

(最多只允许输入30个字)