ControlsFX: Validation result

1.1k Views Asked by At

I want to do some validation in JavaFx using ControlsFX. my code is like this:

ValidationSupport support = new ValidationSupport();
boolean isValid = true;
if(textField.getText().trim().isEmpty()) isValid = false;
support.registerValidator(testField, Validator.createEmptyValidator("This field is required!"));

My question is if is it possible to omit the if condition and extract whether or not the textField is empty from the validation support

1

There are 1 best solutions below

2
On BEST ANSWER

Your isValid variable and the if statement aren't really doing anything. The ValidationSupport contains an observable invalid property with which you can register listeners:

support.invalidProperty().addListener((obs, wasInvalid, isNowInvalid) -> {
    if (isNowInvalid) {
        System.out.println("Invalid");
    } else {
        System.out.println("Valid");
    }
});

or (perhaps more conveniently) register bindings:

Button okButton = new Button("OK");
okButton.disableProperty().bind(support.invalidProperty());

This last code snippet will ensure the okButton is only enabled if the text field is not empty.