以下のようなバリデーターを使用して郵便番号を検証しています。
<h:inputText id="zipCode">
<f:validator validatorId="ZipValidator"/>
<f:attribute name="plus4" value="#{plus4}" />
<f:attribute name="country" value="#{country}" />
</h:inputText>
<h:inputText id="zipCodePlus4" binding="#{plus4}"/>
<h:selectOneMenu id="country" binding="#{country}">
これは、アドレスが 1 つしかない場合は意図したとおりに機能しますが、a4j:repeat 内に複数のアドレスを持つページがある場合、バインディングが壊れます。インデックス変数を使用してみましたが、それを実際のバインディングで機能させる方法がわかりません。以下で機能しない愚かなことをいくつか試しました。
<h:selectOneMenu id="country" binding="#{country}#{index}">
<h:selectOneMenu id="country" binding="#{country + index}">