You can check for lost focus on the control. This is a fairly common cross-platform method ...
textField.focusedProperty().addListener((observable, oldValue, newValue) -> { if(textField.isFocused() == false) { LOGGER.debug("Validate on lost focus here..."); } });
JavaFX 8
source share