2014-09-29 32 views
0

我的表單中有一個簡單的輸入文本元素。如何在JSF中有條件地創建一個元素

用戶有兩種可能採取的行動:1)批准表格並2)拒絕表格。所以用戶點擊表格底部有兩個按鈕。

如果用戶點擊approve,inputField應該是可選的。如果用戶點擊reject,則應該需要comment inputField。

這裏是形式的簡單表示:

<h:form> 
    <p:inputText id="comment" required="???" .../> 

    <p:commandButton id="approve" ... /> 
    <p:commandButton id="reject" ... /> 
</h:form> 
+0

謝謝@BalusC!我想我沒有使用正確的搜索詞。 – 2014-09-29 16:23:45

回答

1

試試這個。

<h:form id="forma"> 
    <p:inputText id="comment" 
       value="#{userView.firstname}" 
       title="comment" 
       required="#{not empty param[reject.clientId]}"/> 
    <p:message for="comment"/> 

    <p:commandButton id="approve" 
        binding="#{approve}" 
        value="approve" 
        process="@form" 
        update="@form"/> 
    <p:commandButton id="reject" 
        binding="#{reject}" 
        value="reject" 
        process="@form" 
        update="@form"/> 
</h:form> 
+0

非常感謝,這已經解決了我的問題! – 2014-09-29 16:21:45

1

您的問題與Dynamic required validation for different buttons?類似。

修改required屬性如下:

<h:form id="form"> 
    <p:inputText id="comment" required="#{not empty param['form:reject']}" ... /> 
    <p:commandButton id="approve" ... /> 
    <p:commandButton id="reject" ... /> 
</h:form> 
+0

謝謝,你的回答也幫助了我。但是,正如我使用@wittakarn(帶有'binding'屬性)提出的解決方案,我已經將該答案標記爲正確答案。 – 2014-09-29 16:22:51

相關問題