package org.peerbox.presenter.validation; import javafx.scene.control.TextField; import org.peerbox.presenter.validation.ValidationUtils.ValidationResult; public final class EmptyTextFieldValidator extends TextFieldValidator { private boolean trim; private ValidationResult returnOnError; public EmptyTextFieldValidator(TextField txt, boolean trim, ValidationResult returnOnError) { super(txt, null, true); this.trim = trim; this.returnOnError = returnOnError; } @Override public ValidationResult validate(final String newValue) { ValidationResult res = ValidationResult.ERROR; if(newValue == null) { return res; } final String value = trim ? newValue.trim() : newValue; if(value.isEmpty()) { decorateError(); res = returnOnError; setErrorMessage(res.getMessage()); } else { undecorateError(); res = ValidationResult.OK; clearErrorMessage(); } return res; } public void reset() { undecorateError(); clearErrorMessage(); } }