【发布时间】:2012-04-11 23:00:37
【问题描述】:
在我的 jsf 应用程序中,我想验证一个仅应在选中 SelectOneRadio 中的一个选项时验证的字段。
我发现<f:validator> 有一个属性,叫做“禁用”。
我可以用它来检查另一个字段的值吗?
我试过了,但我无法访问我的 bean 中的值。
<h:selectOneRadio value="#{myBean.checkedSelectOneRadioValue}">
<f:selectItems value="#{myBean.valuesForSelectOneRadio}" />
</h:selectOneRadio>
<f:validator validatorId="myValidator" disabled="#{myBean.checkedSelectOneRadioValue == 'TEST'}" />
有没有办法在不编写自己的验证器处理程序的情况下实现这一目标?
谢谢!
【问题讨论】:
-
您对 disabled 的检查看起来有些可疑,不应该是 #{myBean.checkedSelectOneRadioValue == 'TEST' }" 还是只是一个错字(移动大括号)?
-
我也试过你的版本,还是不行。是不是,在验证的那一刻,来自 SelectOneRadio 的值没有存储在 bean 中?
-
尝试在 selectOneRadio 标记中设置 partialSubmit="true",这应该包含该值。
-
myfaces 上是否存在 partialSubmit 或有替代方案?
-
我无法使用 ajax。验证器位于另一个字段中,只有在 selectoneradio 中选择了特定值时才应对其进行验证
标签: validation jsf jsf-2