So versuche ich, die Antwort von BalusC in this post zu implementieren, aber es funktioniert nicht, wenn ich versuche, die erforderliche Bedingung auf eine Schaltfläche außerhalb einer Wizard, dass Ich benutze, um den "Zurück" und "Nächsten" des Assistenten zu steuern. Wie kann dies erreicht werden?Erforderliche Validierung abhängig von bestimmten Schaltfläche nicht im Assistenten
<h:form id="form" enctype="multipart/form-data" acceptcharset="ISO-8859-1" >
<p:growl id="growl" sticky="true" showDetail="true"/>
<p:wizard id="wizard" flowListener="#{myBean.onFlowProcess}" showNavBar="false" widgetVar="wizardWV">
<p:tab id="tab1" title="Tab 1" >
<p:panel header="Panel for tab 1">
<p:message for="year" />
<br />
<table>
<tr>
<td>
<h:outputLabel value="Year: " />
</td>
<td>
<p:inputMask
id="year"
value="#{myBean.year}"
required="#{not empty param[nextPanel.clientId]}"
requiredMessage="Year is required!"
style="width:70px;"
mask="9999"
maxlength="4"
/>
</td>
</tr>
</table>
</p:panel>
</p:tab>
<p:tab id="tab2" title="Tab 2" >
<p:panel header="Panel for tab 2">
</p:panel>
</p:tab>
</p:wizard>
<p:commandButton id="backPanel" value="Back" onclick="PF('wizardWV').back();" styleClass="internalButton" />
<p:commandButton id="nextPanel" binding="#{nextPanel}" value="Next" onclick="PF('wizardWV').next();" styleClass="internalButton" />
</h:form>
den Zurück-Button des Assistent wird in erster Linie wirklich brauchen eine vollständige Postbacks (einreichen das gesamte Formular) durchzuführen? Sieht so aus, als könnte es nur ein 'type =" button "' oder ein '' sein (mit 'return false' am Ende von' onclick'). Dies würde auch sofort das Problem der "unnötigen Validierung" lösen. Sonst füge einfach 'process =" @ this "' hinzu, wenn du unbedingt ein Postback machen musst. –
BalusC
@BalusC ,, Danke für die Antwort, aber ich habe es nicht bekommen ... die Schaltfläche als mit Rückgabe false; am Ende von onclick, oder das Hinzufügen von process = "@ this" für den hat mein Problem nicht gelöst. Der nächste Button geht immer noch zum nächsten Panel, ohne etwas zu bestätigen.und ich brauche, dass jedes Panel nur validiert wird, wenn ich in die nächste Schaltfläche klicke. –
PMBG
Ich habe nichts über den nächsten Button gesagt. – BalusC