を新しい項目を追加するためのボタンを追加し、私は、オブジェクトのリストのセクションがあります。検証のための結合属性間の紛争とJSFフォームにフォームで
<c:forEach items="#{myAction.listEtude}" var="etude">
各オブジェクトetude
が始まり、日付とAを持っています終了日。開始日が終了日より前であることを検証するカスタムバリデーター(すでにアプリケーションに存在します)があります。
これはあなたに開始日付圏を表示する抽出物である:
<rich:calendar id="rsqEtdDateDebut" value="#{etude.rsqEtdDateDebut}">
<f:attribute name="nomForm" value="Risques et expositions" />
<f:attribute name="dateSup" value="#{rsqEtdDateFin}" />
<f:validator validatorId="dateDebInfValidator" />
</rich:calendar>
そして少し後に、終了日圏:
<rich:calendar id="rsqEtdDateFin" binding="#{rsqEtdDateFin}" value="#{etude.rsqEtdDateFin}">
</rich:calendar>
は、ユーザーによって、リストに新しい項目を追加することができます追加ボタンをクリックする(アクションクラス内のjava関数を呼び出してセクションをレンダリングする)。
バリデーターは問題ありませんが、ユーザーが新しい項目etude
を追加したい場合、終了日の入力フィールドは最初の項目のみとバインドされ、すべての新しい項目の終了日フィールドはありません。フォームの終了日は1つだけです。
バインド属性を削除しようとすると、追加ボタンが正常に機能します(すべての項目に終了日があります)。ただし、バインディング属性にnull値が送信されないため、検証はもはや機能しません。
これを修正する方法がわかりません。誰にもアイデアはありますか? ありがとうございます。