Ich habe ein Textfeld, das ich als erforderliches Feld umschalten möchte oder nicht, basierend darauf, ob ein Kontrollkästchen aktiviert ist. Ich kann den ValueChangeEventListener nicht zum Spielen bringen. DieseToggle TextField erforderlich/nicht erforderlich, wenn das Kontrollkästchen aktiviert ist
ist das, was ich bisher:
private TextField myTextField = new TextField("Name");
myTextField.setRequired(true);
private CheckBox myCheckBox;
myCheckBox = createCheckBox();
private CheckBox createCheckbox() {
CheckBox checkBox = new CheckBox("My checkbox");
checkBox.setImmediate(true);
checkBox.addValueChangeListener(new ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
toggleRequired();
}
});
return checkBox;
}
private void toggleRequired() {
if (myCheckBox.getValue() != true) {
myTextField.setRequired(false);
} else {
myTextField.setRequired(true)
}
}
Der valueChangeListener Weg zu gefeuert wird von true in false oft geht zurück auf true. Ich bin mir nicht sicher, was ich hier falsch mache, und würde mich über Hilfe freuen.
Vielen Dank
Sollte nicht Ihre 'else' Zweig lesen' myTextField.setRequired (true); 'anstelle von' myCheckBox.setRequired (true) ''? Wahrscheinlich könnten Sie einfach 'myTextField.setRequired (myCheckBox.getValue());' schreiben, um es einfacher zu machen. – Morfic
Danke, dass Sie darauf hingewiesen haben, es ist ein Tippfehler, ich werde die Frage bearbeiten! – Tkingovr