2014-09-29 31 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

相关问题