Проблема класса Validator заключается в том, что он проверяет все входные данные, к которым добавлено ограничение (это означает, что сообщение об ошибке отображается в еще не заполненных входных данных или выбранных средствах выбора):
Validator val = new Validator();
val.addConstraint(title, new LengthConstraint(2));
val.addConstraint(price, new NumericConstraint(true));
В этом примере валидатор покажет ошибку как для заголовка, так и для цены, даже если пользователь еще не ввел цену.
Было бы более интуитивно понятно, что ошибка отображается только после того, как пользователь ввел ввод, это означает, что она показывает ошибку для цены только после того, как указана цена.
Я не нашел код для реализации этого поведения.