1

私がやろうとしているのは、フォーム送信前に特定のフィールドを検証することです。

これらのフィールドは既にぼかし検証を取得しています。これは、すべてのフィールドをタブで移動するとうまく機能します。タブ アウトすると、そのフィールドのぼかしイベントが発生するからです。問題は、最後のフィールドからタブで移動しない場合に発生します。たとえば、「保存」ボタンにマウスを移動します。「保存」ボタンをクリックすると、そのフィールドがぼかし/検証されますが、フォームも送信されます。 この送信の前に検証する必要があります。

このフォームは、インライン編集が含まれているという点で、通常のフォームとは少し異なります。これは、ユーザーが以前に入力した情報を送信するか、送信する前に編集できる (前の手順に戻ることなく) ウィザード タイプのフローの確認ページにあります。これを説明するスクリーンショットを次に示します。http://i.imgur.com/7SCEg.jpg

入力例は次のとおりです。

<h:outputLabel for="registrationReEnterNewPassword2" value="Confirm new password" />
<p:password
    forceId="true" autocomplete="off" id="registrationReEnterNewPassword2" 
    value="#{backingBean.user.newPasswordAgain}" maxlength="15" size="26"
    valueChangeListener="#{backingBean.passwordValueChangeListener}" 
    tabindex="5" styleClass="inputText"
    binding="#{backingBean.passwordUI}">    
    <f:attribute name="currentPassword" value="#{registrationExistingPassword2.value}" />                           
    <f:attribute name="newPassword" value="#{registrationNewPassword2.value}" />
    <f:validator validatorId="ConfirmPasswordValidator"/>
    <f:ajax event="blur"
        execute="registrationNewPassword2 registrationReEnterNewPassword2"
        render="message_passwordB1 message_passwordB2" />
</p:password>
<p:message id="message_passwordB2" styleClass="errorMessage" for="registrationReEnterNewPassword2"/>

フォームのこのセクションの「保存」ボタンは次のとおりです。

<p:commandButton
    value="Save" 
    type="submit"
    styleClass="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only a4jhover"
    onclick="waitingModal();"
    oncomplete="closeWaitingModal(); closeEditPane();"
    onerror="closeWaitingModal();"
    rendered="#{Context.User.registered}"
    action="#{backingBean.submit}"
    update=":messagesForm:messageContent:messages">
</p:commandButton>

そのセクションの「保存」ボタンがクリックされたときに、各フォームの「セクション」で検証をトリガーする方法を知っている人はいますか?

4

0 に答える 0