在我尝试使用JSF 2.0时,我遇到了这样的场景。
我有两个文本字段 - 根据第一个字段的输入,使用
触发ajax调用<f:ajax ... />
在响应回来后,我正在渲染第二个文本字段..但我想根据第一个字段值的某些服务器端验证禁用第二个文本字段。
我不想根据验证后在bean中设置的第三个属性来设置禁用样式。
有没有其他方法..
提前致谢
答案 0 :(得分:4)
通过binding
属性将第一个输入组件绑定到视图,并在第二个输入字段的disabled
属性中使用UIInput#isValid()
。如果验证在给定的输入组件上失败,它将返回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}" />