首页 > 解决方案 > 未填写必填字段时,inputArea 值不会更改

问题描述

我的表单中有selectOneMenu、2 inputTextarea 和commandbutton。所有这些组件都是必需的。当selectOneMenu 改变时 2 inputTexarea 由bean 自动填充。例如,当我从 selectOneMenu 中选择YES时,第一个 inputTextarea 由 bean 填充,第二个 inputTextarea 未填充,由用户填写。如果用户将第二个 inputTextarea 留空并单击提交按钮,则会给出所需的错误。之后,当我将 selectOneMenu 更改为NO时, inputText 必须像bean 的No details一样自动填充。但它不能满足我想要的内容,并且 inputText 周围出现红色阴影。

我不明白为什么会这样。

<p:selectOneMenu id="answertype_menu" filter="true" filterMatchMode="contains" value="#{EVMView.selectedOption}" required="true" requiredMessage="Select Sales-Order" height="333">
                                        <f:selectItem itemLabel="Select One" itemValue="" noSelectionOption="true"/>
                                        <f:selectItems value="#{EVMView.options(EVMView.selectedModule)}" var="values" itemLabel="#{values.evmOption}" itemValue="#{values.evmOption}"/>
                                        <p:ajax event="change" update="answerText otherFindingsofQuestion" listener="#{EVMView.getAnswers}" process="@this"/>
                                    </p:selectOneMenu>
                                    
                                    <p:outputLabel for="answerText" value="Answer:"  />
                                    <p:inputTextarea id="answerText" value="#{EVMView.answer}" style="width:90%;" rows="2" cols="33" readonly="#{EVMView.readOnlyText}" required="true"/>
                                    
                                    <p:outputLabel for="otherFindingsofQuestion" value="Additional details of damage: "/>
                                    <p:inputTextarea id="otherFindingsofQuestion" value="#{EVMView.otherFindingsQuestion}" style="width:90%;" rows="2" cols="33" readonly="#{EVMView.readOnlyOthers}" required="true"/>

豆子法

public void getAnswers()
{
    if(evmService.getAnswers(strSO, selectedModule, questionID,selectedOption)!="null"||!evmService.getAnswers(strSO, selectedModule, questionID,selectedOption).equals("null"))
    {
        this.answer=evmService.getAnswers(strSO, selectedModule, questionID,selectedOption);
    }
    else
    {
        this.answer="";
    }
    if(selectedOption.contains("Yes")||selectedOption.contains("Oth"))
    {
        this.readOnlyOthers=false;
        this.otherFindingsQuestion="";
    }
    else
    {
        this.readOnlyOthers=true;
        this.otherFindingsQuestion="No additional details";
    }
    if(selectedOption.equals("Other"))
    {
        this.readOnlyText=false;
    }
    else
    {
        this.readOnlyText=true;
    }
}

在此处输入图像描述

标签: jsfprimefaces

解决方案


推荐阅读