フォームに対していくつかの基本的な検証を行う必要があります。フォームデータは5つのタブに分割されており、ユーザーはどのタブからでもフォームを送信できる必要があります。ここまでは順調ですね。ユーザーがフィールドに入力していない場合、または無効なデータを入力した場合は、現在のタブにとどまり、エラーメッセージを表示して、タブの切り替えをキャンセルします。
私は見つけることができる様々なイベントを試しました。これが可能かどうか、そして私がそれをどのように達成できるかについて誰かが何か考えを持っていますか?可能であれば、JavaScriptでクライアント側に保持したいと思います。
以下のようなコードサンプルを使用します。
<rich:tabPanel selectedTab="Info" switchType="client" contentClass="hz-record-tabpanel" ontabchange="doTabChange();" onbeforeitemchange="doTabChange();" onbeforetabchange="doTabChange();">
<rich:tab name="Info" label="Tab Label" onlabelclick="doTabChange();">
<ui:include src="info.xhtml" />
</rich:tab>
<rich:tab name="Officers" label="Officers" onlabelclick="doTabChange();" ontableave="doTabChange();">
<ui:include src="officers.xhtml" />
</rich:tab>
<rich:tab name="CardServices" label="Card Services" onlabelclick="doTabChange();">
<ui:include src="cardservices.xhtml" />
</rich:tab>
<rich:tab name="M2MLimits" label="M2M Limits" onlabelclick="doTabChange();">
<ui:include src="m2mlimits.xhtml" />
</rich:tab>
<rich:tab name="AccountServices" label="Account Services" onlabelclick="doTabChange();">
<ui:include src="accountservices.xhtml" />
</rich:tab>
</rich:tabPanel>
何か案は?