我正在使用请求范围的bean通过ajax获取p:selectOneListbox
的selectItems列表。因此,在提交表单后,我得到了这个错误:
j_idt153:j_idt159:j_idt184:j_idt194: Validation Error: Value is not valid
我不想将
p:selectOneListbox
的值提交给任何bean属性,这就是为什么省略了该组件的值EL的原因,但是JSF仍在验证所选的选项,并且由于我的bean已被请求范围限制,所以它不存在。现在,我想完全跳过验证此组件的步骤,因为此p:selectOneListbox
仅用于演示目的,并且在提交表单过程之后不使用其值。如何避免完全验证/提交p:selectOneListbox
的值 <p:ajax event=".." listener="#{pim.retrieveProjects()}" update="usrProjctsList" />
<p:selectOneListbox id="usrProjctsList" onchange="jsfElmnt('#{cc.clientId}:selUsrProjct').val($(this).val());">
<f:selectItems value="#{pim.projects}" var="project" itemLabel="#{project.title}" itemValue="#{project.id}"/>
</p:selectOneListbox>
<h:inputHidden id="selUsrProjct" value="#{bean.underProject}"/>
最佳答案
我认为引用j_idt153:j_idt159:j_idt184:j_idt194: Validation Error: Value is not valid
的错误<p:selectOneListbox id="usrProjctsList"
根本不会导致id
不在j_idt153:j_idt159:j_idt184:j_idt194
id中...
在浏览器中执行view source
并查找j_idt153:j_idt159:j_idt184:j_idt194
id并尝试找出它属于谁
您也可以尝试将immediate="true"
添加到<p:ajax
以跳过验证,或尝试将<p:ajax
添加到该麻烦的组件j_idt153:j_idt159:j_idt184:j_idt194
关于java - 避免完全验证/提交p:selectOneListbox的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11077149/