JSF 2 selectOneRadio Dependend Validation

时间:2012-11-08 14:52:36

标签: jsf-2 validation

我有一个非常简单的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中选择某个,则会显示其他两个所需的消息。

是否有人如何避免这种情况并验证两个和三个依赖于值1?

亲切的问候和提前感谢: - )

1 个答案:

答案 0 :(得分:3)

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

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

<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>