我有一个带有验证程序的自动完成功能。如果验证器失败,则不会显示错误消息。仅在工具提示中显示。
<h:panelGroup styleClass="form-group">
<div class="col-md-3">
<p:outputLabel value="#{labels['product_console_ins_management_company']}"
for="managementCompany" />
<p:panel rendered="#{empty saveProduct.initShowId}" >
<div class="form-control">
<p:autoComplete id="managementCompany"
required="true"
requiredMessage="#{labels['product_console_ins_management_company_validation']}"
value="#{saveProduct.product.company}"
var="b" itemLabel="#{b.description}" itemValue="#{b}"
completeMethod="#{saveProductConsoleController.completeInstrumentFactory}"
process="@this" scrollHeight="300" forceSelection="true"
converter="components.SimpleTypeBeanCollectionArrayConverter">
<f:validator validatorId="managementCompanyValidator"/>
<f:attribute name="boundList"
value="#{domainData.instrumentFactoryList}" />
</p:autoComplete>
</div>
</p:panel>
<br />
<p:outputLabel
rendered="#{ not empty saveProduct.initShowId}"
value="#{saveProduct.product.company.description}" />
<p:message for="managementCompany" display="icon" />
</div>
</h:panelGroup>
答案 0 :(得分:1)
这完全是您告诉您的事情,实际上是您的问题与验证者或p:autocomplete
无关。
从PrimeFaces documentation(阅读,使用,很有用)
显示模式
消息组件具有三种不同的显示模式;
- text:仅显示消息文本。
- 图标:仅显示消息严重性,并且显示消息文本作为工具提示。
- 两者(默认):同时显示图标和文本。
这也可以在PrimeFaces showcase for the message(s) component
中看到因此,如果您想要不同的行为,请选择其他值(“文本”或“两者”)