ここでは、よく聞かれる「メッセージを複数のフォームに表示する方法」の反対を示します。1 つのページに 2 つのフォームがあり、1 つのフォームで検証した後、両方のフォームの送信ボタンの下にサマリー エラー (検証が失敗した場合) が表示されます。コードが必要な電子メールの送信に成功すると、確認メッセージも両方のフォームに表示されます。それらは、送信されたフォームにのみ表示されます。inputTexts の下のメッセージは正常に機能します。私は何を間違っていますか?
<p:panel>
<h:form id="id_rememberUserNameForm" prependId="false">
<td>
...
<p:inputText
id="id_existingEmailAddress"
styleClass="registerinputtext width_20em"
size="20"
maxlength="60"
value="#{credentialsManagementBean.emailAddress}"
validator="#{multivalidator.validateEmailExists}" >
<f:ajax event="blur" render="id_noSuchEmailError" />
</p:inputText>
</td>
</tr>
<!-- validation error handling +++++++++++++++++ -->
<tr class="errorMessage min_height_1p5em">
<td colspan="2" >
<h:message for="id_existingEmailAddress"
id="id_noSuchEmailError"
showDetail="false"
showSummary="true"/>
</td>
</tr>
</table>
<p:commandButton id="id_remindUsernameButton"
value="Retrieve Username"
action="#{credentialsManagementBean.rememberUsername}" >
<f:ajax execute="id_rememberUserNameForm" render="id_UserReminderMessage" />
</p:commandButton>
<p:messages id="id_UserReminderMessage"
showSummary="false"
showDetail="true"
autoUpdate="true" />
</h:form>
</p:panel>
<!-- next form +++++++++++++++++ -->
<p:panel>
<h:form id="id_resetPasswordForm" prependId="false">
...
<p:inputText
id="id_existingUsername"
styleClass="registerinputtext width_20em"
size="20"
maxlength="20"
value="#{credentialsManagementBean.username}"
validator="#{multivalidator.validateUsernameExists}">
<f:ajax event="blur" render="id_noSuchUserError" />
</p:inputText>
</td>
</tr>
<!-- validation error handling +++++++++++++++++ -->
<tr class="errorMessage min_height_1p5em">
<td colspan="2" >
<h:message for="id_existingUsername"
id="id_noSuchUserError"
showDetail="true"
showSummary="false"/>
</td>
</tr>
</table>
<p:commandButton id="id_resetPasswordButton"
value="Retrieve Username"
action="#{credentialsManagementBean.resetPassword}" >
<f:ajax execute="id_resetPasswordForm" render="id_pwResetMessage" />
</p:commandButton>
<p:messages id="id_pwResetMessage"
showSummary="true"
showDetail="false"
autoUpdate="true" />
</h:form>
</p:panel>