Bean Validation лучше всего использовать для простой логики проверки.Если ваша проверка требует большей сложности, вместо этого используйте интерфейс Spring * Validator .
Я не знаю контекстную область, поэтому я просто назову ваш компонент "Form" со всеми String
поля для примера:
public class Form {
private String firstName;
private String lastName;
private String ssn;
private String contractNumber;
// getters and setters
}
Затем создайте валидатор для этого класса:
public class FormValidator implements Validator {
public boolean supports(Class clazz) {
return Form.class.isAssignableFrom(clazz);
}
public void validate(Object target, Errors errors) {
Form form = (Form) target;
// validation logic
}
}
Затем вы можете просто использовать его так:
Form form = ...;
Validator validator = new FormValidator();
Errors errors = new Errors();
validator.validate(form, errors);
if (errors.hasErrors() {
// not valid
} else {
// is valid
}