如何在不影响Primefaces输出标签的情况下将inputText设置为必需?

Nic*_*ick 5 jsf primefaces

当我将inputText设置为required时,我与inputText关联的outputLabel会自动添加一个星号.如何防止出现星号?

<p:outputLabel value="Target Species" for="idInputText" />  
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>
Run Code Online (Sandbox Code Playgroud)

我正在使用PrimeFaces 4.0

spe*_*cer 14

我建议使用普通的JSF <h:ouputLabel… />

<h:outputLabel value="Target Species" for="idInputText" />  
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>
Run Code Online (Sandbox Code Playgroud)

这将删除星号,但保持标签与input元素正确关联.这对可访问性很重要.


Jas*_*ies 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}"/>
Run Code Online (Sandbox Code Playgroud)


小智 6

另一种选择是使用css来隐藏asterisk:

.ui-outputlabel-rfi { display: none; }
Run Code Online (Sandbox Code Playgroud)

然后标签仍将与输入相关联,如果您愿意,仍然可以使用Label Provider:

http://cagataycivici.wordpress.com/2011/02/11/label-provider-for-jsf-input-components/