当我将inputText设置为required时,我与inputText关联的outputLabel会自动添加一个星号。如何防止出现星号?
<p:outputLabel value="Target Species" for="idInputText" />
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>
我正在使用PrimeFaces 4.0
答案 0 :(得分:13)
我建议使用普通的JSF <h:ouputLabel… />
<h:outputLabel value="Target Species" for="idInputText" />
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>
这会删除星号,但会使标签与输入元素正确关联。这对可访问性很重要。
答案 1 :(得分:7)
不确定这是否适用于4,但它适用于PrimeFaces 5.3:只需添加indicateRequired="false"
。所以:
<p:outputLabel value="Target Species"
for="idInputText"
indicateRequired="false"/>
<p:inputText id="idInputText"
required="true"
value="#{controller.string}"/>
答案 2 :(得分:6)
另一个选择是使用css隐藏asterisk
:
.ui-outputlabel-rfi { display: none; }
然后标签仍然会与输入相关联,如果您愿意,您仍然可以使用标签提供商:
http://cagataycivici.wordpress.com/2011/02/11/label-provider-for-jsf-input-components/
答案 3 :(得分:0)
indicateRequired="true"
例如:
<p:inputText value="#{bean.firstName}" indicateRequired="true" required="true" requiredMessage="Name is required"/>
答案 4 :(得分:-3)
<p:outputLabel value="Target Species" for="idInputText" />
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>
在您的代码中,您专门为inputText
设置了该标签,这将asterisk
。
从"for"
移除outputLabel
。它应该看起来像:
<p:outputLabel value="Target Species" />
现在,你不会有asterisk
。