title: JSF 2.2 Composite Component EditableValueHolder
body: <p>I'm writing a composite component that contains an <code>&lt;h:selectManyMenu&gt;</code> and I'd like to allow clients of this component to supply validators and converters by placing <code>&lt;f:validator&gt;</code> and <code>&lt;f:converter&gt;</code> tags as children of my composite component's tag.  In my composite's interface section I have </p>
  
  <pre><code>&lt;composite:editableValueHolder name="select-input" targets="select-many" /&gt;
  </code></pre>
  
  <p>and in the implementation section:</p>
  
  <pre><code>&lt;h:selectManyMenu id="select-many" styleClass="hidden select-input" value="#{cc.attrs['value']}" binding="#{cc.inputComponent}"&gt;
    &lt;composite:insertChildren /&gt;
  &lt;/h:selectManyMenu&gt;
  </code></pre>
  
  <p>and finally the usage:</p>
  
  <pre><code>&lt;cwi:selectManyMenu id="select-many-menu" value="#{selectManyBean.selectedItems}"&gt;
    &lt;f:converter converterId="converter.testItem" for="select-many" /&gt;
    &lt;f:validator validatorId="validator.testItem" for="select-input" /&gt;
    &lt;f:selectItems value="#{selectManyBean.possibleItems}" var="item" itemValue="#{item}" itemLabel="#{item.description}" /&gt;
  &lt;/cwi:selectManyMenu&gt;
  </code></pre>
  
  <p>The problem is neither the validator nor converter are called.  I also have validator and converter classes, each annotated with <code>@FacesValidator('validator.testItem')</code> and <code>@FacesConverter("converter.testItem")</code>, respectively.  They are being picked up correctly, because if I move the <code>&lt;f:validator&gt;</code> and <code>&lt;f:converter&gt;</code> tags inside the composite component, underneath <code>&lt;composite:insertChildren&gt;</code> everything works fine, but I'd rather expose these to clients than hardcode them.  Is there something about the way insertChildren works when using editableValueHolder?  To get this working, I could just make the converter and validator IDs part of the interface, but that loses some flexibility for passing attributes to the converters and validators.</p>