我需要将使用ui:repeat生成的inputText字段标记为无效。我可以通过在bean中使用以下代码来为普通输入字段执行此操作:
UIComponent root = context.getViewRoot();
UIInput inputFieldObj = obj.findComponent(root, id);
inputFieldObj .setValid(false);
上面的代码正在运行,但是当我尝试获取使用ui:repeat生成的组件时。它没有将文本字段标记为无效。
所以对于下面的代码,它的工作原理是:
<p:inputText id="txtEmpId12" />
但为此不是:
<ui:repeat>
<p:inputText id="txtEmpId" />
</ui:repeat>
答案 0 :(得分:0)
这是因为在您的场景中,组件树只包含一个输入。 Ui:repeat
在呈现阶段呈现输入。作为解决方法,您可以使用c:forEach
。在这种情况下,组件树将包含所有输入。但我不喜欢这种方法。