私はjsfページを持っています
<h:inputText required="true">
属性。追加ボタンをクリックすると、フィールドが空白の場合にエラーが表示されます。
これを表示する必要があり<f:message>
ます。
しかし、そのフィールドが空白のページをどのようにエスケープ (キャンセル) できますか? 私の場合、エラーメッセージが継続的に投稿され、別のページに移動するにはフィールドに何かを入力する必要があります.
私はjsfページを持っています
<h:inputText required="true">
属性。追加ボタンをクリックすると、フィールドが空白の場合にエラーが表示されます。
これを表示する必要があり<f:message>
ます。
しかし、そのフィールドが空白のページをどのようにエスケープ (キャンセル) できますか? 私の場合、エラーメッセージが継続的に投稿され、別のページに移動するにはフィールドに何かを入力する必要があります.
キャンセル ボタンがPOSTリクエストの場合<p:commandButton>
、 、<h:commandButton>
、<p:commandLink>
、または<h:commandLink>
フォームが送信されないように、キャンセル ボタンをフォームの外に置くことができます。 <h:inputText>
<h:form>
<h:inputText value="#{bean.string}" required="true"/>
</h:form>
<h:form>
<p:commandButton value="Cancel" action="anotherpage.xhtml"/>
</h:form>
アクションやメソッド呼び出しなしでナビゲートしている場合は、 、、または などのGETリクエストを使用できます。<h:button>
<p:button>
<h:link>
<h:outputLink>
例:
<h:form>
<h:inputText value="#{bean.string}" required="true"/>
<p:button value="Cancel" outcome="anotherpage.xhtml"/>
</h:form>
で使用できimmediate="true"
ます<p:commandButton>
。その後、検証をスキップします。
例えば:
<p:commandButton action="#{managedBean.action}" value="Cancel" immediate="true" />
キャンセルまたは移動したい場合は、送信時にフォームを処理しないでください。
つまりしない
<h:form>
...
<p:commandButton value="Cancel" action="#{bean.cancel}" />
</h:form>
しかし、ただやる
<h:form>
...
<p:commandButton value="Cancel" action="#{bean.cancel}" process="@this" />
</h:form>
cancel()
または、とにかくメソッドでナビゲーションの結果のみを返す場合はより良い
<h:form>
...
<p:button value="Cancel" outcome="otherpage.xhtml" />
</h:form>