簡體   English   中英

如何將 inputText 設置為 required 而不影響 Primefaces 中的輸出標簽?

[英]How to set inputText to required without affecting output label in Primefaces?

當我將 inputText 設置為 required 時,與 inputText 關聯的 outputLabel 會自動添加一個星號。 如何防止星號出現?

<p:outputLabel value="Target Species" for="idInputText" />  
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>

我正在使用 PrimeFaces 4.0

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

<h:outputLabel value="Target Species" for="idInputText" />  
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>

這將刪除星號,但保持標簽與輸入元素正確關聯。 這對於可訪問性很重要。

不確定這是否也適用於 4,但它適用於 PrimeFaces 5.3:只需添加indicateRequired="false"必需indicateRequired="false" 所以:

<p:outputLabel value="Target Species"
               for="idInputText"
               indicateRequired="false"/>  
<p:inputText id="idInputText"
             required="true"
             value="#{controller.string}"/>

另一種選擇是使用 css 隱藏asterisk

.ui-outputlabel-rfi { display: none; }

然后標簽仍將與輸入相關聯,如果您願意,您仍然可以使用標簽提供程序:

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

indicateRequired="true"

例如:

<p:inputText value="#{bean.firstName}" indicateRequired="true" required="true" requiredMessage="Name is required"/>
<p:outputLabel value="Target Species" for="idInputText" />  
<p:inputText id="idInputText" required="true" value="#{controller.string}"/>

在您的代碼中,您專門為inputText設置了該標簽,這將帶有asterisk

outputLabel刪除"for" 它應該看起來像:

 <p:outputLabel value="Target Species" />  

現在,你不會有asterisk

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM