Bestätigen Sie die Eingabe nur dann nach Bedarf, wenn eine bestimmte Befehlstaste gedrückt wird

Ich habe einen speziellen Anwendungsfall für die JSF-Validierung. Zum Beispiel habe ich eineinputText Feld:

<p:inputText id="input" required="#{myBean.required}" value="#{myBean.value}" maxlength="20" disabled="#{myBean.disabled}">
  <p:ajax event="blur" process="@this" update="name" listener="#{myBean.listener}"/>
</p:inputText>

Der Eingabewert ist number (in einigen Fällen kann es sich auch um eine Zeichenfolge handeln, da diese Teil einer zusammengesetzten Komponente ist. Das Problem wird jedoch besser beschrieben, wenn davon ausgegangen wird, dass es sich um eine Zahl handelt.) Diese Eingabe ist Teil des Formulars. Am Ende des Formulars habe ich die Schaltfläche "Senden":

<p:commandButton value="Save" actionListener="#{myBean.save}"/>

Was sind meine Wünsche:

Wenn die Schaltfläche "Senden" gedrückt wird, sollte die gesamte Validierung verarbeitet werden. Dies ist in Ordnung. Dies funktioniert einwandfrei.Wenn im Eingabefeld ein Unschärfe-Ereignis ausgelöst wird, wenn das Feld nicht leer ist, sollte eine Nummernvalidierung durchgeführt werden, und dies ist auch in Ordnung. Am Ende aktualisiere ich das Feld mit der IDname mit einem gewissen Wert.Jetzt habe ich ein Problem. Meine dritte Anfrage ist, wenn die Eingabe leer ist. Die Validierung der Eingabe sollte nicht verarbeitet werden. Dies ist ein Sonderfall, in dem ich das Feld mit der ID löschen werdename. Dies ist auch der Fall, wenn ich bereits eingegebenen Text entferne, den Fokus von der Komponente entferne (z. B. TAB drücken) und in diesem Fall auch eine AJAX-Anforderung verarbeitet werden soll und die Namenseingabe ebenfalls gelöscht wird.

Wie kann ich die Validierung dieses Eingabefelds deaktivieren, wenn es leer ist, und nur für dieses Ajax-Ereignis?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage