Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Clear validation message
I have one textField, so when I leave the field I run this code:
private void buscarParte(FieldEvents.BlurEvent evt) {
if (cpf.isValid()) {
...
}
}
So if I put one invalid value, my textfield with be marked (red line in text and message) but if I back to text and put one valid value, the red line and error message don't vanish, have one method to clear the error message from one field?
tks
Not sure, what you are doing exactly: Are you clicking somewhere outside the textfield after inserting a valid value? Is your BlurListener run?
After calling isValid() or validate() the error-marker should vanish automatically if the value is indeed valid.
Tobias, I create one customValidator
public class CpfValidatorVaadin implements Validator {
CPFValidator validaCpf = new CPFValidator();
@Override
public void validate(Object o) throws InvalidValueException {
if(o != null) {
try {
validaCpf.assertValid(o.toString());
}catch (InvalidStateException i){
throw new InvalidValueException("CPF inválido");
}
}
}
}
then I use this validator in my field
cpf.addValidator(new CpfValidatorVaadin());
then I add one blurListener
cpf.addBlurListener(evt -> buscarParte(evt));
So. When I insert one invalid value, and leave the field, the validator validate and return one exception (change the border of my field to red), then I back to this field, and insert one valid value, the red border still when I leave the field.
A similar thing just happened to me. I had a ValueChangeListener which called getConvertedValue() on a Field. Ig the value was not convertable, I got an errormessage that would not go away even after I changed the value to something convertable.
Took me a while to realize that it was actually the notification, that _the call to my listener_ was broken from Vaadin's view because of the unhandled ConversionException. As soon as I had handled the ConversionException in a try-catch everything worked as expected again. Maybe you are experiencing the same problem as you get an InvalidValueException inside a Listener ...