bean所需的值不会变回" false"

时间:2018-01-12 11:27:12

标签: validation jsf required

几小时前感谢您的帮助! 现在,我面临一个新问题...... :(

如果选择了特殊的单选按钮,则应该要求的字段不能改回" 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。

如果你能帮助我,我会很高兴的! 祝福!

1 个答案:

答案 0 :(得分:0)

所以,如果有人遇到同样的问题:

ajax元素只需执行@this

<f:ajax execute="@this" listener="#{bean.required}" render="panel1" />