Отключение второго текстового поля после проверки данных через 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}" />