Ich lerne derzeit über jsf 2.0 aus dem Core JSF 2.0-Buch + Glassfish + CDI.
Ich habe eine Frage zur Validierungsfunktion von JSF.
Angenommen, ich habe eine sehr einfache Login-Anwendung mit einem sehr einfachen Layout wie :
Benutzer-ID: (Eingabefeld für Benutzer-ID - mit required="true")
Passwort: (Eingabefeld für das Passwort - mit required="true")
Login-Button + Register-Button (mit immediate="true") + Check-Button für die Verfügbarkeit von Benutzer-IDs
Angenommen, der Login-Button wird gedrückt und die Benutzer-ID und das Passwort sind leer, es würde ein Validierungsfehler auf beiden Feldern auftreten und das funktioniert, wie ich es beabsichtigt habe.
Und wenn der Register-Button gedrückt wird, ist es egal, ob die Benutzer-ID oder das Passwort vom Benutzer ausgefüllt sind, da es immediate="true" verwendet und somit die Validierung umgeht und der Befehl in der Apply Request Value-Phase ausgeführt wird, und das funktioniert immer noch so, wie ich es beabsichtigt habe.
Und hier liegt mein Problem ... Wenn der Check-Button für die Verfügbarkeit der Benutzer-ID gedrückt wird, erwarte ich nur, dass die Benutzer-ID ausgefüllt ist, und es spielt keine Rolle, ob das Passwortfeld ausgefüllt ist oder nicht, aber das Passwortfeld wird einen Fehler melden, dass es ein Pflichtfeld ist.
Gibt es einen Weg, dieses Problem zu lösen? Ich weiß, dass dies eine sehr einfache Anwendung sein könnte, aber an meinem Arbeitsplatz entwerfen sie viele Bildschirme wie diesen, beispielsweise mit Speichern-Schaltfläche zusammen mit Aktualisierungsschaltfläche mit unterschiedlichen Pflichtfeldern, aber die Schaltflächen befinden sich auf derselben Seite.
Vielen Dank!