zoukankan      html  css  js  c++  java
  • hibernate_validator_01

    1.环境准备(Maven工程)

    <?xml version="1.0" encoding="UTF-8"?>
    <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.wy</groupId>
        <artifactId>validator_1</artifactId>
        <version>1.0-SNAPSHOT</version>
        <dependencies>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>4.3.2.Final</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/junit/junit -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
    
        </dependencies>
    
    </project>
    View Code

    2.准备po类

    package po;
    
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    
    /**
     * Created by Administrator on 2016/7/12.
     */
    public class Car {
        @NotNull
        private String manufacturer;
        @NotNull
        @Size(min = 2, max = 14)
        private String licensePlate;
        @Min(2)
        private int seatCount;
        public Car(String manufacturer, String licencePlate, int seatCount) {
            this.manufacturer = manufacturer;
            this.licensePlate = licencePlate;
            this.seatCount = seatCount;
        }
    }
    View Code

    3.验证测试

    package test;
    
    import org.junit.BeforeClass;
    import org.junit.Test;
    import po.Car;
    
    import javax.validation.ConstraintViolation;
    import javax.validation.Validation;
    import javax.validation.Validator;
    import javax.validation.ValidatorFactory;
    import java.util.Set;
    
    
    /**
     * Created by Administrator on 2016/7/12.
     */
    public class CarTest {
        private static Validator validator;
        /*获取验证器*/
        @BeforeClass
        public static void setUp() {
            ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
            validator = factory.getValidator();
        }
        @Test
        public void test1() {
            Car car = new Car(null, "DD-AB-123", 4);
            //validate() 方法会返回一个set的 ConstraintViolation 的实例的集合, 我们可以通过遍历它来查看哪些验证错误
            Set<ConstraintViolation<Car>> constraintViolations = validator.validate(car);
            System.out.println(constraintViolations.size());
            System.out.println(constraintViolations);
            //[ConstraintViolationImpl{interpolatedMessage='不能为null', propertyPath=manufacturer, rootBeanClass=class po.Car, messageTemplate='{javax.validation.constraints.NotNull.message}'}]
        }
        @Test
        public void licensePlateTooShort() {
            Car car = new Car("Morris", "D", 4);
            Set<ConstraintViolation<Car>> constraintViolations =
                    validator.validate(car);
            System.out.println(constraintViolations.size());
            System.out.println(constraintViolations);
            //[ConstraintViolationImpl{interpolatedMessage='个数必须在2和14之间', propertyPath=licensePlate, rootBeanClass=class po.Car, messageTemplate='{javax.validation.constraints.Size.message}'}]
        }
        @Test
        public void seatCountTooLow() {
            Car car = new Car("Morris", "DD-AB-123", 1);
            Set<ConstraintViolation<Car>> constraintViolations =
                    validator.validate(car);
            System.out.println(constraintViolations.size());
            System.out.println(constraintViolations);
            //[ConstraintViolationImpl{interpolatedMessage='最小不能小于2', propertyPath=seatCount, rootBeanClass=class po.Car, messageTemplate='{javax.validation.constraints.Min.message}'}]
        }
        @Test
        public void carIsValid() {
            Car car = new Car("Morris", "DD-AB-123", 2);
            Set<ConstraintViolation<Car>> constraintViolations =
                    validator.validate(car);
            System.out.println(constraintViolations.size());
            System.out.println(constraintViolations);
            //此时为一切正常
        }
    }
    View Code
  • 相关阅读:
    ASP.NET 表单验证 Part.2(实现表单验证)
    长工的买房故事
    软件界面交互和易用性改进总结[zz]
    访问hotmail邮箱的途径
    Google内部收集员工创意的方法[转载]
    Web2.0地图展望
    C++开源跨平台类库集
    庆祝lucky荣登早教网首页宝宝
    在那些打磨汉芯的日子里[转贴]
    在中国搞技术只能混碗饭吃,没有太大希望
  • 原文地址:https://www.cnblogs.com/wangyang108/p/5664969.html
Copyright © 2011-2022 走看看