2012-06-18 44 views
0

我正在使用請求作用域bean通過ajax獲取p:selectOneListbox的selectItems列表。因此,對提交回來的形式,我得到這個錯誤:避免驗證/完全提交p:selectOneListbox的值

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}"/> 

回答

1

我不認爲錯誤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

0

正如丹尼爾說,ID也不匹配。但爲了跳過驗證,您還可以在您的ajax事件中使用[email protected] (and other stuff, except the listBox)。由於您使用的是primefaces,因此只會處理寫入的內容並跳過其餘部分。