In meiner JSF/Facelets App, hier ist eine vereinfachte Version von Teil meiner Form:Wie kann ich die Fehler meiner Anwendung in JSF anzeigen?
<h:form id="myform">
<h:inputSecret value="#{createNewPassword.newPassword1}" id="newPassword1" />
<h:message class="error" for="newPassword1" />
<h:inputSecret value="#{createNewPassword.newPassword2}" id="newPassword2" />
<h:message class="error" for="newPassword2" />
<h:commandButton value="Continue" action="#{createNewPassword.continueButton}" />
</h:form>
ich in der Lage sein möchten, um einen Fehler zu einem bestimmten h zuweisen: Message-Tag auf etwas geschieht in der Basis continueButton() -Methode. Verschiedene Fehler müssen für newPassword und newPassword2 angezeigt werden. Ein Validator wird nicht wirklich funktionieren, da die Methode, die Ergebnisse liefert (aus der Datenbank), in der continueButton() -Methode ausgeführt wird und zu teuer ist, um sie zweimal auszuführen.
Ich kann das Tag h: messages nicht verwenden, da die Seite mehrere Stellen hat, an denen ich verschiedene Fehlermeldungen anzeigen muss. Als ich das versuchte, zeigte die Seite Duplikate jeder Nachricht an.
Ich habe versucht, dies als beste Vermutung, aber kein Glück:
public Navigation continueButton() {
...
expensiveMethod();
if(...) {
FacesContext.getCurrentInstance().addMessage("newPassword", new FacesMessage("Error: Your password is NOT strong enough."));
}
}
Was bin ich? Jede Hilfe wäre willkommen!
Ich weiß, dass es nicht verloren gehen, weil die die h: Nachrichten-Tag den Fehler spuckt ganz gut ... Ich weiß einfach nicht, wie der Fehler ein binden spezifisches h: Nachrichten-Tag. Das Ändern der ID hat auch nicht geholfen. –