public final class HibernateValidators {

private static final Validator VALIDATOR;

private HibernateValidators() {

}

static {

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

VALIDATOR = factory.getValidator();

}

public static <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) {

return VALIDATOR.validate(object, groups);

}

/**

* @throws IllegalArgumentException 当校验有错误的时候抛出异常

*/

public static <T> void throwsIfInvalid(T object, Class<?>... groups) {

final Set<ConstraintViolation<T>> constraintViolations = validate(object, groups);

if (!constraintViolations.isEmpty()) {

final ImmutableMap.Builder<String, String> errorBuilder = ImmutableMap.builder();

for (ConstraintViolation<T> violation : constraintViolations) {

errorBuilder.put(violation.getPropertyPath().toString(), violation.getMessage());

}

throw new IllegalArgumentException(errorBuilder.build().toString());

}

}

}

05-07 10:11