私がやろうとしているのは、フォーム送信前に特定のフィールドを検証することです。
これらのフィールドは既にぼかし検証を取得しています。これは、すべてのフィールドをタブで移動するとうまく機能します。タブ アウトすると、そのフィールドのぼかしイベントが発生するからです。問題は、最後のフィールドからタブで移動しない場合に発生します。たとえば、「保存」ボタンにマウスを移動します。「保存」ボタンをクリックすると、そのフィールドがぼかし/検証されますが、フォームも送信されます。 この送信の前に検証する必要があります。
このフォームは、インライン編集が含まれているという点で、通常のフォームとは少し異なります。これは、ユーザーが以前に入力した情報を送信するか、送信する前に編集できる (前の手順に戻ることなく) ウィザード タイプのフローの確認ページにあります。これを説明するスクリーンショットを次に示します。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>
そのセクションの「保存」ボタンがクリックされたときに、各フォームの「セクション」で検証をトリガーする方法を知っている人はいますか?