0
我在PrimeFaces中有一個可編輯的數據表,並且正在使用Hibernate驗證器進行bean驗證。這適用於<p:inputText />
元素。現在我想驗證一個可編輯的數據表。Primefaces可編輯數據表和休眠驗證器
這是正在發生的事情:
如果我輸入有效的值,則頁面更新如預期
如果我輸入無效值,當我點擊小「保存」對勾沒有任何反應 - 細胞仍然可編輯,不嘗試數據庫寫入,不顯示錯誤消息。
頁面上有一個<h:messages />
標記,爲什麼不顯示錯誤消息?該組件似乎意識到存在問題,因爲該行保持可編輯狀態。
編輯:我啓用了日誌記錄,看到這一點:
21:20:43,874 FINE [javax.enterprise.resource.webcontainer.jsf.context] (http-localhost-127.0.0.1-8080-2) Adding Message[sourceId=demoTable:j_idt11:2:j_idt15,summary=Testing Hibernate Validator Error Message)
所以它看起來像上下文正確更新。看起來我需要做些事情來觸發它呈現的信息。
在沒有任何示例代碼,這聽起來很像一個Hibernate異常。 JSF將直接跳轉到「渲染響應」細分,這就解釋了爲什麼您沒有收到操作並且沒有更改頁面導航。沒有驗證或轉換錯誤也解釋了您的消息標記缺少FacesMessage。設置一個斷點,並通過... – 8bitjunkie 2012-07-31 22:09:44
我啓用日誌記錄,看到這個: 21:20:43,874 FINE [javax.enterprise.resource.webcontainer.jsf.context](http-localhost-127.0.0.1-8080- 2)添加消息[sourceId = demoTable:j_idt11:2:j_idt15,summary =測試Hibernate驗證器錯誤消息] 因此,看起來上下文正在被正確更新。看起來我需要做些事情來觸發它呈現的信息。 – Greg 2012-08-01 01:25:42
我也認識到Primefaces incell編輯會在失敗時吞下消息,這是非常煩人的,因爲定義的更新組件只會在成功時更新。應該在primefaces追蹤器中提出問題。它甚至像簡單的'required'一樣吞下消息。 – djmj 2012-08-01 03:07:10