3

我有一个非常简单的 jsf 页面,其中包含三个 selectOneRadio 组件。其中两个在一个 panelGroup 中。

<t:selectOneRadio id="first" value="#{myBean.first}" required="true" requiredMessage="Please make a choice!">
<f:selectItem itemLabel="yeah" itemValue="true"/>
<f:selectItem itemLabel="no!" itemValue="false"/>
<f:ajax render="myform" execute="myform" />
</t:selectOneRadio>

<h:panelGroup rendered="#{not myBean.first}">
  <t:selectOneRadio id="second" value="#{myBean.second}" required="true" requiredMessage="Please make a choice!">
  <f:selectItem itemLabel="yeah" itemValue="true"/>
  <f:selectItem itemLabel="no!" itemValue="false"/>
  <f:ajax render="myform" execute="myform" />
  </t:selectOneRadio>


  <t:selectOneRadio id="third" value="#{myBean.third}" required="true" requiredMessage="Please make a choice!">
  <f:selectItem itemLabel="yeah" itemValue="true"/>
  <f:selectItem itemLabel="no!" itemValue="false"/>
  <f:ajax render="myform" execute="myform" />
  </t:selectOneRadio>
</h:panelGroup>

我的问题是,取决于第一个按钮的值,是否应该显示面板。如果它出现,其他两个无线电选择将被验证。

当前的行为是,如果我在第一个 selectOneRadio 中选择某些内容,则会显示其他两个所需的消息。

有没有人如何避免这种情况并验证依赖于值一的二和三?

提前致以诚挚的问候和感谢:-)

4

1 回答 1

4

找到了答案...有时我是盲人:-)

将执行属性设置为当前单选按钮解决了它:

<t:selectOneRadio id="first" value="#{myBean.first}" required="true" requiredMessage="Please make a choice!">
<f:selectItem itemLabel="yeah" itemValue="true"/>
<f:selectItem itemLabel="no!" itemValue="false"/>

<f:ajax render="myform" execute="first" />

</t:selectOneRadio>
于 2012-11-08T15:14:46.617 回答