【问题标题】:How related p:outputLabel with more than one p:inputText when required attribute is "true"当 required 属性为“true”时,p:outputLabel 与多个 p:inputText 的相关性如何
【发布时间】:2014-08-08 23:48:04
【问题描述】:
我们通常这样使用 outputLabel:
<p:outputLabel value="Name: " for="myname"></p:outputLabel>
<p:inputText id="myname" value="#{mybean.name}"></p:inputText>
如果三个输入中有一些是空的,我如何为这个 outputLabel 着色。
我在考虑使用 p:ajax,但我必须将 Css 添加到 outputLabel 的标签中,以便像 outputLabel 的正常行为一样在这种情况下。
是我想象中的唯一方法,请大家帮忙。
感谢阅读
【问题讨论】:
标签:
ajax
primefaces
xhtml
required
【解决方案1】:
您可以在任何输入的样式属性中使用 EL。
如果三个输入中有一些是空的,我如何为这个 outputLabel 着色。
你可以这样做:
<p:inputText id="firstInput" value="#{mybean.name}">
<p:ajax event="keyup" update="myLabel"/>
</p:inputText>
<p:inputText id="secondInput" value="#{mybean.name2}">
<p:ajax event="keyup" update="myLabel"/>
</p:inputText>
<p:inputText id="thirdInput" value="#{mybean.name3}">
<p:ajax event="keyup" update="myLabel"/>
</p:inputText>
<p:outputLabel id="myLabel" value="I change colors!"
style="color:#{(empty mybean.name and empty mybean.name2 and empty mybean.name3) ? 'red' : 'black'}"/>
样式将被解读为:“如果 name 为空或 null 且 name2 为空或 null 且 name3 为空或 null 则 'red' else 'black'”。