2014-11-04 86 views
1

我目前正在開發一個動態表單系統,並且必須實現一個功能,其中用戶(設置哪些表單字段應該顯示來自某些預定義的字段)必須具有能夠定義哪些輸入字段是必需的,哪些不是。還必須設置以下內容:「應顯示字段A和B,您至少需要填寫其中一個(A或B,或者如果您希望A和B)提交表格。」JSF/PrimeFaces:填寫至少一個X字段

我已存儲以下數據:

0: not displayed 
1: displayed 
2: displayed and required (w/o any dependency to another field) 
greater than 1: Custom identifier 

實施例:

name: 1 
birthday: 2 
city: 2 
x: 3 
y: 3 
postal code: 0 

隨着在設定用戶已填寫姓名,生日城市任一和x或年。

JSF是否支持那種「required」字段?

問候

+1

[JSF2.0不支持交叉字段驗證,是否有解決方法?](http://stackoverflow.com/questions/6282466/jsf2-0-doesnt-support-cross-field-驗證是否有解決方法) – kolossus 2014-11-05 14:34:25

回答

2

從primefaces 4.0(http://www.primefaces.org/docs/vdl/4.0/primefaces-p/inputText.html)的文檔中,屬性required接受javax.el.ValueExpression其中必須評估java.lang.Boolean

我的理解會導致創建backbean函數將返回Boolean,並使用自己的邏輯來確定它是否是truefalse(帳戶以用戶設置和當前元素)。

+0

我無法確定是否需要字段。例如:「應顯示字段A和B,您至少需要填寫其中一個(A或B,或者如果您希望A和B)提交表格。」 - 如果您填寫A *或* B,您可以選擇您自己的 – 2014-11-04 15:37:04

0

不,這種交叉字段驗證不可用於開箱即用。您需要通過自定義驗證來實現此目的。

相關問題