Frage

Ich habe ein kleines Problem mit bedingt bewerteten Ausdruck in JSF / a4j mit

Hier ist mein Code

<a4j:form>
         <h:inputText id="id1" value="#{mybean.myvalue}" size="1"
                   required="#{not mybean.condition}"
                   rendered="#{not mybean.condition}"
                   requiredMessage="Put a number in here" />

           <h:selectBooleanCheckbox value="#{mybean.condition}">
                <a4j:support event="onclick" reRender="id1"/>
            </h:selectBooleanCheckbox>

<a4j:commandButton action="#{mybean.myaction}" value="Do something" />

 </a4j:form>

Die boolean Checkbox bedingt aktivieren / deaktivieren die Validierung.

Das funktioniert nicht: die a4j: command einfach die Validierung überspringen

.

Danke.

War es hilfreich?

Lösung

Wenn die input Validierung (Prozessvalidierungen Phase) ausfällt, dann wird der Wert mybean.condition wird nicht aktualisiert (Process Updates Phase) werden. Da das Textfeld verwendet die erforderlich Attribut, das ist sehr wahrscheinlich.

Lifecycle von der Richfaces doc:


(Quelle: jboss.org )

Wenn eine JSF Phase ausfällt, springt der Lifecycle-Antwort auf Render auf ungültige Eingaben zu vermeiden, arbeitet. Sie können die h verwenden: Nachricht und h: Nachrichten Tags anzuzeigen gemeldete Fehler (obwohl, weil Sie AJAX verwenden, müssen Sie sie in etwas setzen, die neu gerendert bekommen.

Ich vermute, dass, wenn Sie legen Sie die ajaxSingle Attribut für das AJ4: Unterstützung Tag, würden Sie das Verhalten Sie wollen. Die Dokumentation sagt, dass dies nur den Wert für die Kontrolle vorlegen, so dass das Textfeld nicht in den Bewerben Anforderungswerte / Prozessvalidierungen / Process Updates Phasen beteiligt werden.

Andere Tipps

Was ist der Umfang der MyBean? Wenn es den Antrag Umfang dann wird sein Wert zurückgesetzt werden, wenn Sie die Taste und das Eingabefeld klicken möglicherweise überhaupt verarbeitet werden (wenn gerendert Entschlüssen auf ‚false‘).

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