gpt4 book ai didi

java - 如何使用 cellEditor 将 validator (具有禁用条件)添加到 primefaces 数据表?

转载 作者:行者123 更新时间:2023-11-30 04:36:02 25 4
gpt4 key购买 nike

我正在使用 primefaces 2.2.1我想将 f:validatorLength 设置为数据表中的一行,其中包含许多行 p:cellEditor

<c:set var="flag" value="#{item.key eq 'someKey'}" />
<p:column headerText="header">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{item.value}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{item.value}" style="width:100%" >
<f:validateLength maximum="4" disabled="#{flag}"/>
</p:inputText>

</f:facet>
</p:cellEditor>
</p:column>

当使用适当的键选择的输入文本的标志为true时, validator 将为所有输入文本打开。当标志为 false 时 - 为所有输入文本打开 validator 。但我想将 validator 设置为一些输入文本等。有任何想法吗?谢谢。

最佳答案

这是一个已知问题。 <f:validateXxx> 的属性标签在 View 构建期间进行评估。因此它们不能依赖于仅在 View 渲染期间可用的变量。

这基本上与此处详细概述和回答的问题相同:How to set converter properties for each row of a datatable?

在您的特定情况下,除了自己自行开发一个 validator 之外,该 validator 以编程方式评估 #{item}里面validate()方法,你可以使用OmniFaces <o:validator> 它可以对所有属性进行渲染时评估。

<p:inputText value="#{item.value}">
<o:validator validatorId="javax.faces.Length" maximum="4" disabled="#{flag}" />
</p:inputText>

关于java - 如何使用 cellEditor 将 validator (具有禁用条件)添加到 primefaces 数据表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13513209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com