Отключение второго текстового поля после проверки данных через ajax первого текстового поля

Когда я экспериментировал с JSF 2.0, я столкнулся с таким сценарием.

У меня есть два текстовых поля - на основе ввода первого поля ajax-вызов запускается с помощью

<f:ajax ... />

После того, как ответ вернулся, я рендеринг второго текстового поля... но я хочу отключить второе текстовое поле на основе некоторой проверки на стороне сервера значения первого поля.

Я не хочу устанавливать отключенное использование стиля на основе третьего свойства, которое устанавливается в bean-компоненте после проверки.

Есть ли альтернативные способы..

заранее спасибо

1 ответ

Решение

Привязать первый компонент ввода к представлению binding атрибут и использование UIInput#isValid() в disabled атрибут второго поля ввода. Он вернется false если проверка не удалась для данного компонента ввода.

<h:inputText binding="#{input1}" value="#{bean.input1}">
    <f:validator validatorId="yourValidator" />
    <f:ajax event="blur" render="input2" />
</h:inputText>
<h:inputText id="input2" value="#{bean.input2}" disabled="#{!input1.valid}" />
Другие вопросы по тегам