几小时前感谢您的帮助! 现在,我面临一个新问题...... :(
如果选择了特殊的单选按钮,则应该要求的字段不能改回" required = false"如果单选按钮再次更改。 显示该字段不能为空的错误消息。
这是我的代码:
Bean method:
public void required(AjaxBehaviorEvent event) {
if (test.isRadioButton()) {
requirement = true;
} else {
requirement = false;
}
}
----
xhtml:
<h:panelGroup id="buttons" layout="block" styleClass="buttonAbstand" >
<p:selectOneRadio id="radio" value="#{bean.test.radioButton}" required="true" requiredMessage="#{i18n['error.response']}" >
<f:selectItem itemValue="#{true}" itemLabel="#{i18n['common.ja']}" />
<f:selectItem itemValue="#{false}" itemLabel="#{i18n['common.nein']}" />
<f:ajax execute="panel1" listener="#{bean.required}" render="panel1" />
</p:selectOneRadio>
</h:panelGroup>
<h:panelGroup id="panel1" >
<h:panelGroup rendered="#{bean.requirement}" >
<br />
<h:outputLabel value="#{i18n['input']}" styleClass="labelFont" />
<br />
<p:inputText id="inputText" value="#{bean.test.input}" styleClass="text" required="#{bean.requirement}" requiredMessage="#{i18n['error.input']}" />
</h:panelGroup>
</h:panelGroup>
我的bean有这些注释: @服务 @ViewScoped @Getter @Setter。
如果你能帮助我,我会很高兴的! 祝福!
答案 0 :(得分:0)
所以,如果有人遇到同样的问题:
ajax元素只需执行@this
。
<f:ajax execute="@this" listener="#{bean.required}" render="panel1" />