我有一个非常简单的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?
亲切的问候和提前感谢: - )
答案 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>