<dependency> <groupId>io.valdr</groupId> <artifactId>valdr-bean-validation-api</artifactId> <version>2.0.1</version> </dependency> public interface ValdrValidated { } @ValdrConstraint(UserValidationRules.class) public class User implements ValdrValidated { } public class UserValidationRules { @ValdrConstraintFor("username") @NotEmpty(message = "{NotEmpty.user.username}") private String username; @ValdrConstraintFor("email") @Email(message = "{Email.user.email}") private String email; } properties public class ValdrValidator implements Validator { private final Validator defaultValidator; public ValdrValidator() { Configuration<?> configuration = Validation.byDefaultProvider().configure(); configuration.messageInterpolator(new ResourceBundleMessageInterpolator( new PlatformResourceBundleLocator("ValidationMessages"))); ValidatorFactory factory = configuration.buildValidatorFactory(); defaultValidator = factory.getValidator(); } @Override public <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups) { if (object instanceof ValdrValidated) { Set<ConstraintViolation<T>> violations = defaultValidator.validate(object, groups); // ... return violations; } return Collections.emptySet(); } } @Configuration public class ValidationConfig { @Bean public javax.validation.Validator valdrValidator() { return new ValdrValidator(); } }


上一篇:
下一篇:
切换中文