beanvalidation实战

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 17:33   23   0

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


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP