I'm using com.sun.faces
version 2.1.18
. In my application I have a dynamic list of questions. I use <ui:repeat>
to render each question. Depending on the type of question I render a type of input component and validation. In case of a number range question I use <h:inputText>
with <f:validateLongRange>
.
The problem I run into is that the minimum
and maximum
attributes on the <f:validateLongRange>
are always set to the first question's minimum and maximum value. So, when you use the validator on any other then the first question it fails. Is that supposed to happen? Is there a way to get validation working on dynamically generated components? I hope it can be solved without switching to <c:forEach>
.
Code snippet:
<ui:repeat value="#{questionnaire.questionsCollection}"
var="question">
..
<h:inputText value="..">
<f:validateLongRange minimum="#{question.minimumValue}"
maximum="#{question.maximumValue}"/>
</h:inputText>
..
</ui:repeat>
I've outputted #{question.minimumValue}
and #{question.maximumValue}
, and they have the correct values for my question.