我正在使用com.sun.faces版本2.1.18.在我的应用程序中,我有一个动态的问题列表.我<ui:repeat>用来渲染每个问题.根据问题的类型,我呈现一种输入组件和验证.在一些范围问题,我使用的情况下<h:inputText>用<f:validateLongRange>.
我遇到的问题是它的minimum和maximum属性<f:validateLongRange>总是设置为第一个问题的最小值和最大值.因此,当您在任何其他问题上使用验证器时,第一个问题就会失败.这应该发生吗?有没有办法让验证工作在动态生成的组件上?我希望无需切换即可解决<c:forEach>.
代码段:
<ui:repeat value="#{questionnaire.questionsCollection}"
var="question">
..
<h:inputText value="..">
<f:validateLongRange minimum="#{question.minimumValue}"
maximum="#{question.maximumValue}"/>
</h:inputText>
..
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
我输出#{question.minimumValue}和#{question.maximumValue},他们有正确的价值观我的问题.