Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 选择无效时显示h:selectOneListbox的上一个有效值_Validation_Jsf_Select_Listbox - Fatal编程技术网

Validation 选择无效时显示h:selectOneListbox的上一个有效值

Validation 选择无效时显示h:selectOneListbox的上一个有效值,validation,jsf,select,listbox,Validation,Jsf,Select,Listbox,我对selectOneListBox的验证有问题。当输入为false时,一切正常,并显示一条消息。但下拉列表将保留选定值作为下拉列表值。如果验证失败,我想显示旧值。 那我该怎么做呢 我试过这个: <h:selectOneListbox id="intFrom" value="#{searchBean.intFrom}" size="1" immediate="true" class="intSelectBox1"> <f:ajax render

我对selectOneListBox的验证有问题。当输入为false时,一切正常,并显示一条消息。但下拉列表将保留选定值作为下拉列表值。如果验证失败,我想显示旧值。 那我该怎么做呢

我试过这个:

<h:selectOneListbox id="intFrom" value="#{searchBean.intFrom}" size="1" immediate="true" class="intSelectBox1">
                 <f:ajax render=":menuForm :searchForm:searchButton" listener="#{menuBean.focus(menuBean.mySearch)}" />
                 <f:ajax listener="#{searchBean.count()}" render="int1" />
                 <f:ajax execute="intFrom" render="intFrom" />
                 <f:selectItems value="#{searchBean.intRangeFrom}" />
                 <f:validator validatorId="project.IntFromValidator" />
              </h:selectOneListbox>
              <h:message id="int1" for="intFrom" style="color: red" />


但在此之后,将显示新值而不是旧值。

这是正确的行为:用户选择错误的值-显示消息。如果将值重置为“上一个”,则消息将与显示的信息无关。例如:空字段更改为相同值,您通知用户所选值不正确,但用户无法查看所选内容。您可以添加“取消”按钮,将所有字段重置为以前的值(无错误消息)。