public class User {
@NotNull
private String name;
@Size(min = 6, max = 16)
private String password;
@Email
private String email;
}
@Inject
ValidationService validationService;
void validateUser(User user) {
ValidationResult validationResult = validationService.validate(user);
if (validationResult.hasErrors()) {
}
}
public class ValidationServiceImpl implements ValidationService {
private Validator validator;
@Inject
public ValidationServiceImpl(Validator validator) {
this.validator = validator;
}
@Override
public ValidationResult validate(Object object) {
Set<ConstraintViolation<Object>> violations = validator.validate(object);
ValidationResult result = new ValidationResult();
for (ConstraintViolation<Object> violation : violations) {
result.addError(new ValidationError(violation.getPropertyPath().toString(), violation.getMessage()));
}
return result;
}
}