获取Validator实例:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
Validator实例是线程安全的,因此可以在多线程情况下重复使用同一个实例多次。
Validator包含了3个验证方法:
1.验证bean对象实例
Car car = new Car( null, true );
Set<ConstraintViolation<Car>> constraintViolations = validator.validate(car);
assertEquals( 1, constraintViolations.size() );
assertEquals( "must not be null", constraintViolations.iterator().next() .getMessage() );
2.验证实例对象的某个属性
Car car = new Car( null, true );
Set<ConstraintViolation <Car>> constraintViolations = validator.validate(car , "manufacturer" );
assertEquals( 1, constraintViolations.size() );
assertEquals( "must not be null", constraintViolations.iterator().next() .getMessage() );
3.验证某个值是否对某个属性有效(可用于在赋值前检查)
Set<ConstraintViolation<Car>> constraintViolations = validator.validateValue( Car.class, "manufacturer", null );
assertEquals( 1, constraintViolations.size() );
assertEquals( "must not be null", constraintViolations.iterator().next() .getMessage() );