Wie klar h:message oder Reich:Meldung Wert in JSF?
Ich bin der Entwicklung einer JSF-Anwendung, und ich haben viele user Formen, wo ich die JSF verwenden-Validierungen.
Ich habe eine Frage, die mich ärgert, wird es leichter sein zu sagen, es mit einem Beispiel.
<h:panelGroup>
<h:selectOneRadio id="gender" value="#{registrationController.person.gender}"
required="true" requiredMessage="#{msg.commonErrorBlankField}">
<f:selectItems value="#{registrationController.genders}" />
</h:selectOneRadio>
<rich:spacer />
<rich:message for="gender" errorLabelClass="errorLabel">
<f:facet name="errorMarker">
<h:graphicImage value="#{msg.imageExclamation}" />
</f:facet>
</rich:message>
</h:panelGroup>
Oben, wenn eine option nicht ausgewählt ist, eine gewünschte Nachricht angezeigt wird. Und wenn der Benutzer eine Auswahl vornimmt, sehe ich den Fehler bei der überprüfung disseapeares. Fair genug !
Mein problem ist, wenn der Benutzer navigiert zur nächsten Seite und klicken Sie dann mit der zurück-Taste des Browsers kommt man wieder auf diese Seite wieder, ich kann sehen, mein Feld Geschlecht ist entsprechend ausgewählt aber die Validierung Fehler wird immer noch angezeigt.
Weiß jemand, ob es einen workaround deaktivieren Sie das h:message-Feld sobald ich auf die command-Taste, so dass Fehler bei der überprüfung nicht angezeigt werden, wenn ich gehen auf die gleiche Seite zurück?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher, ob das funktioniert. Ich habe es nicht getestet:
dass ist nicht ganz korrekt, modernen Browsern nicht auslösen, wenn Daten gepostet wurde, in früheren Stadien der navigation.
Löschen der Nachrichten aus dem FacesContext wird nicht dein problem lösen, denn diese wird nur auf der server-Seite Status der Anwendung. Drücken Sie die zurück-Schaltfläche Ihres Browsers zwingt den browser die Seite neu laden aus dem lokalen browser-cache.
Ist es wichtig zu verstehen, dass die zurück-Schaltfläche Ihres Browsers wird nicht ausgelöst, eine Anfrage an den server.