我正在使用1 H顯示的項目清單:數據表像這樣:PostValidate數據表列表值
<p:dataTable value="#{myBean.instructorsList}" var="ins">
<p:column headerText="Name">
<h:inputText value="#{ins.name}"/>
</p:column>
</p:dataTable>
我的天賦是,我不能讓一個教練有相同的名稱作爲另一個insturctor。所以我需要在提交時訪問所有的instructorList。我試圖使用postValidate f:事件進行驗證,但是由於JSF生命週期,它不會在postValidation階段之前更新模型值。
我嘗試
<f:event listener="#{myBean.myMethod}" type="postValidate" />
後備代碼
private List<instructors> instructorsList;
public void myMethod(ComponentSystemEvent event) {
// Attempting to use the instructorsList with new values. However, this
// is at the wrong stage
}
我怎麼會寫一個驗證完成檢查重複教練的名字呢?
我不確定我是否理解這個問題。使用postValidate事件偵聽器訪問提交的名稱時遇到問題嗎?或者您在設置偵聽器中的驗證狀態時遇到問題? – kolossus 2014-12-05 21:40:37
是的,我有一個訪問postValidate事件偵聽器提交名稱的問題。這些值尚未在我的viewScoped bean中更新。 – Sixthpoint 2014-12-08 04:48:05
postValidate可能來不及影響請求處理。你現在究竟如何試圖訪問提交的值? – kolossus 2014-12-08 14:20:28