1

WebアプリケーションでJSFPrimefacesを使用しています。

これでは、学生が記入するいくつかの詳細を含む1つのフォームを使用しています。したがって、そのフィールドにはいくつかの検証があります

そして、このページには2つのボタンがあります。1つは送信、もう1つはログアウトです。

送信ボタンを押すと、詳細が入力されていない場合、フォームに検証エラーが表示されます。

しかし、LOGOUTリンクを押している間も同じことが表示されます

ログアウトはp:commadLinkです

<p:commandLink styleClass="logout" type="submit"  action="#{userManagedBean.logout}">
     <p:graphicImage value="/images/logout.png"></p:graphicImage>
     </p:commandLink>

送信はh:commandButtonです

<h:commandButton image="/images/submit_button.png" type="submit" action="#{referManagedBean.saveDetails}" value="submit"></h:commandButton>

ログアウトリンクが必要です。この検証手順をスキップして、関数と呼ばれるマネージドBeanに直接移動します。

検証ステップをスキップするにはどうすればよいですか?

4

2 に答える 2

3

ログアウトアクションは詳細フォーム(検証中)とは関係がないように思われるため、ボタンを別のフォーム(h:form)に移動するだけで、詳細フォームの検証がトリガーされなくなります。

于 2012-10-05T21:33:47.820 に答える
2

検証フェーズをスキップするimmediate="true"を使用して、問題を解決しました。

<p:commandLink styleClass="logout" type="submit" immediate="true"  action="#{userManagedBean.logout}">
     <p:graphicImage value="/images/logout.png"></p:graphicImage>
     </p:commandLink>
于 2012-10-05T21:15:23.900 に答える