2014-09-29 2 views
0

У меня есть простой элемент ввода текста в моей форме.Как сделать элемент условно обязательным в JSF

У пользователя есть 2 возможных действия, чтобы принять форму: 1) утвердить форму и 2) отклонить форму. Таким образом, в нижней части формы есть две кнопки, на которые пользователь может щелкнуть.

Если пользователь нажимает на approve, то поле ввода должно быть опциональным. Если пользователь нажимает на reject, то необходимо ввести поле ввода comment.

Вот простое представление вида:

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

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

Спасибо @BalusC! Наверное, я не использовал правильные слова поиска. –

ответ

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

Огромное спасибо, это решило мою проблему! –

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'), я отметил этот ответ как правильный. –

Смежные вопросы