Как проверить поле inputText в зависимости от определенных условий в JSF? - PullRequest
0 голосов
/ 04 апреля 2019

Я должен сделать проверку в поле inputText в JSF.В dataTable отображаются метки с разными именами, и я хочу только проверить поле с одним указанным именем метки.Подтвердите, если имя параметра.label имеет текст Stirng "".

Дополнительная проблема связана с символами '<' и '>', которые я должен заменить предопределенными объектами XML, такими как <и>. Код выглядит так:

<p:outputLabel value="Missing error attributes" rendered="#{addError2018Controller.addErrorContext.isAttributesMissing}"/>
        <h:dataTable value="#{addError2018Controller.addErrorContext.errorsParameters}" var="parameter" rendered="#{addError2018Controller.addErrorContext.isAttributesMissing}">
           <h:column>
                <p:outputLabel value="#{parameter.label}"/>
            </h:column>
            <h:column>
                <p:inputText value="#{parameter.value}" style="width: 100%;">
                    <p:ajax event="change" update=":addError:contents :addError:addErrorButtons :addError:error" listener="#{addError2018Controller.completeMessage}"/>
                </p:inputText>
            </h:column>
        </h:dataTable>

Я сделал это, но это не работает:

        <p:outputLabel value="Missing error attributes" rendered="#{addError2018Controller.addErrorContext.isAttributesMissing}"/>
        <h:dataTable value="#{addError2018Controller.addErrorContext.errorsParameters}" var="parameter" rendered="#{addError2018Controller.addErrorContext.isAttributesMissing}">
           <h:column>
                <p:outputLabel value="#{parameter.label}"/>
            </h:column>
            <h:column>
                <p:inputText value="#{parameter.value}" style="width: 100%;">

			            <c:if test="${parameter.label == '&lt;year of case&gt;'}" >
                        <pe:keyFilter regEx="/[\d\-]/" preventPaste="false"/>
                        <f:validateRegex pattern="\d{4}"/>
                        <f:validateLongRange minimum="2015"/>
                   </c:if>
                    
                  <p:ajax event="change" update=":addError:contents :addError:addErrorButtons :addError:error" listener="#{addError2018Controller.completeMessage}"/>
                </p:inputText>
            </h:column>
        </h:dataTable>

Наиболее проблемной является эта строка:

<c:if test="${parameter.label == '&lt;year of case&gt;'}" >

Я пробовал и другие варианты в этой строке, но он все еще не работает.

...