2014-06-30 144 views
2

我使用一些OminFaces(1.8.1)驗證器,例如,如何覆蓋OmniFaces默認驗證/轉換錯誤消息?

<o:validateAllOrNone components="a b c d" showMessageFor="someComponent"/> 

如果指定字段中的至少一個留空在這種情況下,它顯示等作爲以下所示的默認消息。

A,B,C,d:請填寫這些字段

我想覆蓋資源包這樣的錯誤消息的全部或沒有特別得到本地化的消息。

與JSF不同,在OmniFaces中找不到資源包。這仍然有可能以某種方式覆蓋此錯誤消息?

回答

3

您可以使用message屬性。

<o:validateAllOrNone components="a b c d" showMessageFor="someComponent" 
    message="#{i18n['some.bundle.key']}" /> 

其中i18n是你的資源包的<resource-bundle><var>

事實上,OmniFaces ValidateMultipleFields組件不支持通過<message-bundle>提供這些消息,而無需每次都聲明message屬性。


巧合的是,3天前,我已經爲即將到來的OmniFaces 2.0 committedseveral changes這些驗證程序使用組件類型鍵時,應使其能夠通過<message-bundle>覆蓋默認的消息。所以在<o:validateAllOrNone>情況下,其中有一個"org.omnifaces.component.validator.ValidateAllOrNone"component type,你應該能夠覆蓋它在資源束所確定<message-bundle>如下:

org.omnifaces.component.validator.ValidateAllOrNone = {0} all or none! 
相關問題