【发布时间】:2012-03-24 05:57:09
【问题描述】:
当我在试验 JSF 2.0 时,我遇到了这样的场景。
我有两个文本字段 - 基于第一个字段的输入,使用触发 ajax 调用
<f:ajax ... />
响应返回后,我正在重新呈现第二个文本字段..但我想根据第一个字段值的某些服务器端验证禁用第二个文本字段。
我不想根据验证后在 bean 中设置的第三个属性使用样式设置禁用。
还有其他方法吗..
提前致谢
【问题讨论】:
当我在试验 JSF 2.0 时,我遇到了这样的场景。
我有两个文本字段 - 基于第一个字段的输入,使用触发 ajax 调用
<f:ajax ... />
响应返回后,我正在重新呈现第二个文本字段..但我想根据第一个字段值的某些服务器端验证禁用第二个文本字段。
我不想根据验证后在 bean 中设置的第三个属性使用样式设置禁用。
还有其他方法吗..
提前致谢
【问题讨论】:
通过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}" />
【讨论】: