Использование валидатора с атрибутом переменной в пользовательском интерфейсе: repeat

я использую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" varStatus="status">
  ..
  <h:inputText rendered="#{question.qutyId.ofTypeNumber}"
               value="#{filledQuestionnaire.answersCollection[status.index].answerValue}">
    <f:validateLongRange minimum="#{question.minimumValue}"
                         maximum="#{question.maximumValue}"/>
  </h:inputText>
  ..
</ui:repeat>

Я вывел#{question.minimumValue} а также#{question.maximumValue}и они имеют правильные значения для моего вопроса.

Ответы на вопрос(1)

Ваш ответ на вопрос