Validation 来自bean的必需值';请不要改回“请不要”;假;

Validation 来自bean的必需值';请不要改回“请不要”;假;,validation,jsf,required,Validation,Jsf,Required,谢谢你几个小时前的帮助! 现在,我面临一个新问题…:( 如果再次更改单选按钮,则该字段(如果选择了特殊单选按钮,则该字段应为必填字段)不能更改回“required=false”。 将显示错误消息,该字段不能为空 这是我的密码: Bean method: public void required(AjaxBehaviorEvent event) { if (test.isRadioButton()) { requirement = true; } else {

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

如果再次更改单选按钮,则该字段(如果选择了特殊单选按钮,则该字段应为必填字段)不能更改回“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方法:
需要公共作废(AjaxBehaviorEvent事件){
if(test.isRadioButton()){
要求=正确;
}否则{
要求=假;
}
}
----
xhtml:


我的bean有以下注释: @服务 @视域 @吸气剂 @塞特

如果你能帮助我,我将非常高兴!
最好的祝愿!

如果有人有同样的问题:

ajax元素只需要执行
@this

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


只需使用
requirement=test.isRadioButton()
-在这种情况下,如果
,则不需要使用
。此外,您的问题可能是调用函数后没有更新表单(如果这是表单),或者没有设置
isRadioButton()
正确地说,我们可以看到涉及该单选按钮的代码吗?应该在何时何地更新?您在上述代码中的任何地方都不会这样做,因此一切都是正常的!!!。请学习如何创建一个我将带有单选按钮的零件添加到代码段中。如果您确实想跳过其单选按钮,为什么在切换过程中显式执行panel1执行?如果选择了单选按钮“true”,则panel1应呈现为必需的inputText。我是否遗漏了什么?我是否可以通过其他方式意识到这一点?提示:选中所有>25个与JSF()相关的向上投票的Q/A。您不需要记住它们的内容,但至少要阅读标题并记住它们的存在。您可以省去它,这已经是默认设置。您甚至可以省去
侦听器
,并使用
required=“#{bean.test.radioButton}
。)