<p:commandButton BEDINGT onclick-Ereignis

ich habe ein jsf-Formular mit einem Eingabefeld und einem speichern-button, wie im code unten. Was ich erreichen möchte ist, wenn der speichern-button geklickt haben, wird die Eingabe validiert werden soll mit der regex-Muster. Wenn die Validierung fehlgeschlagen ist, keine save-confirmation-dialog angezeigt werden soll. Ansonsten ein save-confirmation-dialog angezeigt, und dem Benutzer die Möglichkeit zu wählen, ob speichern oder nicht.

In den folgenden code, der dialog hat immer gezeigt, trotz der bedingten onclick="if(#{conditionOK}). Ich will keine Bestätigung-dialog hat gezeigt, wenn conditionOK gibt false zurück!!! Nach vielen versuchen, ich denke, die facescontext.isValidateFailed() wird nicht neu evalutated.

Bitte helfen 🙁

Alles, was ich will, ist nur zu prüfen, ob die regex-Validator gibt true zurück. Für diesen Fall, den Bestätigung-dialog angezeigt werden soll.

Mein Ansatz falsch sein könnte. Vielen Dank, wenn Sie Jungs haben auch andere Lösungen.

<h:form id="save_all_form">
      <p:inputTextarea rows="1" style="width:100%;resize:none"
         value="#{cusBean.saveAll}" autoResize="false"
         validatorMessage="Wrong format">
         <f:validateRegex pattern="#{msgs.pattern}" />
      </p:inputTextarea>

      <ui:param name="conditionOK" 
         value="#{facesContext.postback and !facesContext.validationFailed}"  />

      <p:commandButton value="#{msgs.button_overwrite_all}"
         onclick="if(#{conditionOK}){confirmation.show()}"/>
</h:form>
  • Also, wenn die Seite gerendert wird, und der Benutzer tippt etwas in die textarea, die nicht vorübergehen wird die Validierung, die Sie möchten, um zu zeigen, das Bestätigungs-Dialogfeld? Bitte erläutern Sie den Prozess ein wenig mehr ins Detail.
  • Ich aktualisiert meine Frage. Seine ärgerlich, dass jemand bearbeitet worden ist die Frage.
InformationsquelleAutor Tim Long | 2013-10-11
Schreibe einen Kommentar