を繰り返しますUIにOmnifaces validateAllOrNoneコンポーネントを使用する:私は、次の問題を抱えている
を私はOを使用してみてください:UIにvalidateAllOrNoneコンポーネント:繰り返して、それは素敵な仕事だし。しかし、私の複合コンポーネントでは動作しません。
私の複合コンポーネントは本当に簡単ですp:inputText快適な入力電話番号です。そこでは、私は別の電話番号(inputPhoneNumber)で仕事を提供するjavascriptを使用しています。
<p:inputText id="#{cc.attrs.id}" type="tel" label="Номер телефона" value="#{cc.attrs.value}" required="#{cc.attrs.required}"
styleClass="#{cc.attrs.styleClass} m-pad-left50" style="#{cc.attrs.style}">
</p:inputText>
<script>
$("#{cc.fullId}").intlTelInput(
{
utilsScript: "intl-tel-input/js/utils.js",
autoHideDialCode: false,
nationalMode: false,
preferredCountries: [#{cc.preferredCountries}],
onlyCountries: [#{cc.countries}],
dropdownContainer: 'body'
}
);
</script>
また、私は、電話番号、電子メール、スカイプやらなどの連絡先を作成するためのフォームを持っています。フォームで連絡先のリストを作成できます。そして、の接触のカテゴリは、単純な入力テキスト、他の電話番号であればそこに私は複合コンポーネントを使用しています
私はOを使用していますvalidateAllOrNoneをその接触式と彼の価値はない、空をチェックします。 ValidateAllOrNone属性 "コンポーネントの参照する必要があります:
例外メッセージが
:私は次の例外をキャッチしているinputPhoneNumber:のinputTextが、私は MyComponentのために使用されるこのコンポーネントにしようとしている:それは、pに対して動作します既存のクライアントIDは です。クライアントID 'contact_type'が見つかりません。を繰り返します
私はUIにフル取得する方法を知っている質問the questionを発見しました。その後、私は私のコードを書き換えています
<ui:repeat id="contact_list" value="#{bean.contacts}" var="contact" varStatus="status">
<p:selectOneMenu id="contact_type" value="#{contact.type}">
...
</p:selectOneMenu>
<p:outputPanel rendered="#{contact.category.equals(category.PHONE)}">
<mycomponent:inputPhoneNumber id="contact_phone_value" value="#{contact.value}" preferred="ru">
<o:validateAllOrNone components="contact_creation_form-contact_list-#{status.index}-contact_type contact_phone_value"/>
</p:outputPanel>
<p:outputPanel rendered="#{ne contact.category.equals(category.PHONE)}">
<p:inputText id="contact_other_value" value="#{contact.value}"/>
<o:validateAllOrNone components="contact_type contact_other_value"/>
</p:outputPanel>
</ui:repeat>
は、今私は、接触型の正しいIDを入れているが、私は同じ例外をキャッチ:
例外メッセージ:ValidateAllOrNone属性「コンポーネント」は を参照する必要があります既存のクライアントID。クライアントID 'contact_creation_form-list-2-contact_type'が見つかりません。
どうすればこのプログレムを修正できますか?