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