2012-07-31 51 views
0

我目前正在研究一個運行在glassfish上的JSF 2應用程序(帶有primefaces)。 我們的數據模型是一個標準(AIXM),所以我們不能修改它。驗證規則在模型上定義。來自模型級驗證的用戶友好的消息

在我們的應用程序中,guis並不反映模型。 例如,模型中的某些字段未顯示(它們是從用戶輸入計算的)。 該模型還有一個ConditionCombination類,它允許表示對象列表之間的邏輯關係。 在我們的應用程序中,我們只使用這些對象列表中的兩個。 所以我們計算一下ConditionCombination的一些屬性。

由於我們有跨場驗證(這似乎很難做到使用JSF驗證機制),我們選擇在模型級別進行驗證。 但是有些錯誤信息對用戶沒有意義。 例如,某些錯誤消息在不顯示給用戶的字段中。

有沒有關於如何改善此驗證的任何想法? (或者我們應該在JSF級實現它來代替,而從型號上來看重寫所有驗證規則到視圖的角度)

回答

1

可以使用FacesContext context = FacesContext.getCurrentInstance(); context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Your message here", null));

只寫你的代碼模型和追加以上代碼自定義消息。

+0

是的,這是我們如何顯示我們在模型上找到的驗證錯誤。但是我們的問題是某些消息的內容對於用戶來說並不清楚(有些是指模型中的屬性,而不是gui中的屬性)。 – matiouz 2012-08-01 15:29:43