我正在使用请求范围的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}"/>
答案 0 :(得分:1)
我认为引用j_idt153:j_idt159:j_idt184:j_idt194: Validation Error: Value is not valid
的错误<p:selectOneListbox id="usrProjctsList"
不会导致id
ID中的j_idt153:j_idt159:j_idt184:j_idt194
根本不存在...
在您的浏览器中执行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
答案 1 :(得分:0)
丹尼尔说,身份证也不匹配。但是为了跳过验证,您还可以在ajax事件上使用process=@this (and other stuff, except the listBox)
。由于你使用的是primefaces,这只会处理写在那里的内容并跳过其余部分。