public class UserRegistrationForm {
private String username;
private String password;
// getters and setters
}
public class UserRegistrationValidator implements Validator<UserRegistrationForm> {
@Override
public void validate(UserRegistrationForm form, ValidationErrors errors) {
}
}
public class UserRegistrationService {
private Validator<UserRegistrationForm> validator;
public UserRegistrationService() {
this.validator = Validation.buildDefaultValidatorFactory()
.getValidator()
.unwrap(Validator.class);
}
public void registerUser(UserRegistrationForm form) {
ValidationErrors errors = new ValidationErrors();
validator.validate(form, errors);
if (errors.hasErrors()) {
throw new ValidationException(errors.getAllErrors());
}
}
}