通过第一个文本字段的 ajax 进行数据验证后禁用第二个文本字段
Posted
技术标签:
【中文标题】通过第一个文本字段的 ajax 进行数据验证后禁用第二个文本字段【英文标题】:disabling second text field after data validation through ajax of first text field 【发布时间】:2012-03-24 05:57:09 【问题描述】:当我在试验 JSF 2.0 时,我遇到了这样的场景。
我有两个文本字段 - 基于第一个字段的输入,使用触发 ajax 调用
<f:ajax ... />
响应返回后,我正在重新呈现第二个文本字段..但我想根据第一个字段值的某些服务器端验证禁用第二个文本字段。
我不想根据验证后在 bean 中设置的第三个属性使用样式设置禁用。
还有其他方法吗..
提前致谢
【问题讨论】:
【参考方案1】:通过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" />
【讨论】:
以上是关于通过第一个文本字段的 ajax 进行数据验证后禁用第二个文本字段的主要内容,如果未能解决你的问题,请参考以下文章
发生验证错误后,如何使用 PrimeFaces AJAX 填充文本字段?
Symfony3 + Select2 AJAX - 禁用选择验证