Frage

Ich habe eine Seite mit einer Funkauswahl mit 3 Optionen und einer InputTextArea. Wenn ich auf meiner Seite die Taste Sendene drücke, muss ich einige Validierungen durchführen ... um dies zu tun, habe ich einen Validator im Radio gesteckt. Das Problem ist, dass ich, wenn der Validator ausgeführt wird, die Werte der InputTextArea und des Radios benötige, aber sie sind mit alten Werten geliefert, nicht diejenigen, die auf der Seite definiert wurden, bevor die Seite eingereicht wurde.

Beispiel: String.ValueOf (textArea.getValue ()). Equals ("")), wenn es zuerst die Code -Zeichenfolge zusammenfasst. eine leere Zeichenfolge. Wenn es zum zweiten Mal eingereicht wird, hat es den Wert dessen, was es in der 1. Einreichung haben sollte. Ich weiß, dass dies etwas mit dem JSF Life Cicle zu tun hat, aber ich weiß nicht, wie ich diese Werte aktualisieren soll?

Danke im Voraus...

War es hilfreich?

Lösung

Während der Phase der Antragsanforderung werden die eingereichten Werte festgelegt und verfügbar submittedValue. Während der Validierungsphase werden die eingereichten Werte validiert und konvertiert und festgelegt value. Die Komponenten werden in der Reihenfolge von Top-Bottom validiert, da die Komponenten im Komponentenbaum angezeigt werden.

Wenn also die betreffende Komponente tatsächlich erscheint nach Die aktuelle Komponente im Komponentenbaum müssen ihren Wert nach erhalten UIInput#getSubmittedValue() Anstatt von UIInput#getValue().

Um mehr über den JSF -Lebenszyklus zu erfahren, finden Sie möglicherweise Dieser Self-Practice-Artikel nützlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top