мне кажется, что ваша логика в blurlistener повторяет проверку, которую вы уже установили, когда вы связали поле с .withValidator(new StringLengthValidator())
.Этот Валидатор должен делать именно это.Когда вы нажимаете кнопку «Отправить», все, что вам нужно сделать, это проверить подшивку, а если она недействительна, не отправлять.Вы можете настроить строку ошибки, отображаемую в поле taxNumber, указав настроенную строку в StringLengthValidator
:
.withValidator(new StringLengthValidator("Not valid tax", 4, null))
. Я только что понял, что у вас, вероятно, есть пользовательская проверка в ks.loadInfo(taxNumber.getValue())
.Если это так, то лучший способ - заменить StringLengthValidator пользовательским валидатором, который вы можете написать, например, следующим образом:
.withValidator(taxNr -> {
InfoResult ir = ks.loadInfo(taxNr);
return ir.errorText == null && !ir.name.isEmpty();
}, "Not valid tax")