我必须对JSF中的inputText字段进行验证。
在dataTable中显示了具有不同名称的标签,我只想验证具有一个指定标签名称的字段。
验证parameter.label的名称是否为Stirng文本“
另一个问题是字符“ <”和“>”,我应该将其替换为XML预定义的实体,例如&lt和&gt。 代码如下:
('{' || json || '}')::json->'writing'->1->>'variableName'
我做了这个,但是没用:
<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 == '<year of case>'}" >
<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>
我也在此行中尝试其他选项,但仍然无法正常工作。