jsf - 未填写必填字段时,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;
}
}
解决方案
推荐阅读
- r - 功能齐全的文件和位置地址未呈现 rstudio rmarkdown::render()
- angular - mat-sidenav push 属性导致构建错误
- javascript - 在 React js 中选择特定下拉值时禁用按钮
- java - Hibernate 抛出 java.sql.SQLException:@Enumerated(EnumType.STRING) 的整数值异常不正确
- multithreading - Delphi 在 TWebModule 中使用 TTask (ISAPI - IIS)
- python - 如何根据在特定页面上按下的下一步按钮调用不同的功能
- ada - 是否有对应于 ASIS 的 Flat_Element_Kind 的 Libadalang 枚举或类型?
- sql - 将 Postgres IPv6 列 TEXT 字段转换为 JSON
- ios - 滑块上的拇指不动
- angular - Angular 下拉菜单中的服务器端分页和过滤