Предложение Slaw - это хорошо, но я бы предложил другой способ использования валидации.
Обратите внимание, что для этого метода требуется библиотека ControlsFX и некоторый код в вашем контроллере (нельзя сделать в css, как вы упомянули).
В вашем классе контроллера создайте валидатор:
ValidationSupport validationSupport = new ValidationSupport();
Добавьте валидацию (в качестве обязательного поля) к вашему узлу (в этом примере TextField) внутри метода инициализации:
validationSupport.registerValidator(myTextField, Validator.createEmptyValidator("Field is required"));
Теперь, когда При запуске приложения необходимое TextField будет выглядеть следующим образом:
Если фокус потерян из TextField и в нем нет текста, он будет отображаться красным X вот так: