【发布时间】:2015-06-18 08:12:01
【问题描述】:
有人可以解释为什么下面的最小示例不会评估所需的元素吗?或者它是“错误”的方式,我不知道有更好的方式。
我知道我的问题与以下问题类似:Primefaces cellEditor required inputText。对我来说,该解决方案似乎更像是一种解决方法,而不是解决此问题的有效方法。所以是的任何想法如何处理这个?
代码:
<p:dataTable id="ruleTableID" var="rule" value="#{rC.rules}" widgetVar="rowsTable"
rows="20" editable="#{rC.editable}"
editMode="cell" paginator="true"
paginatorPosition="bottom" paginatorTemplate="{Save}"
emptyMessage="#{t['rule.empty']}">
<p:ajax event="cellEdit" update=":newRules:messages, :newRules:" />
<p:column headerText="#{t['policy.registerNumber']}">
<p:cellEditor>
<f:facet name="input">
<p:inputText styleClass="ruleInputText" value="#{rule.registerNr}" required="true" maxlength="4">
<f:validateLength minimum="4" />
<f:validateRegex pattern="([A-Z\d]{4})" />
<p:clientValidator/>
</p:inputText>
</f:facet>
<f:facet name="output">
<h:outputText value="#{rule.registerNr}" />
</f:facet>
</p:cellEditor>
</p:column>
<f:facet name="{Save}">
<p:commandButton id="saveButton" value="#{t['button.save']}" action="#{rC.saveRules}" update=":newRules" rendered="#{rC.isAllValueSet}" />
</f:facet>
</p:dataTable>
【问题讨论】:
-
我不知道它是否导致了问题,但你的正则表达式看起来有问题。您指定的最小长度为 4,但您的正则表达式只接受一个字符 (ref)。
-
不是问题,但我改了,谢谢^^
标签: jsf jsf-2 primefaces