2013-07-05 51 views
0

我有輸入字段和消息圖標組件,如下所示:如何以編程方式顯示primefaces圖標錯誤?

<h:form id="myForm" > 
    <p:inputText id="email" /> 
    <p:message id="iconMessage" for="email" display="icon" /> 

和我有一個提交按鈕,在服務器端的郵件存在於數據庫檢查,如果存在的話,我想做出錯誤圖標顯示爲如下:

FacesContext.getCurrentInstance().addMessage("myForm:email", 
        new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "")); 

但錯誤圖標不會呈現,請告知如何解決該問題。

回答

0

你必須更新的組件:從

org.primefaces.context.RequestContext; 

RequestContext.getCurrentInstance().update("myForm:email"); 

但我會建議指定一個驗證器來代替:

<p:inputText id="email" validator="{yourBean.validateEmail}" /> 

,並在您管理的Bean:

public void validateEmail(FacesContext context, UIComponent component, Object value) { 
    String email = value.toString(); 

    //check if email exists in DB 

    FacesContext.getCurrentInstance().addMessage(component.getClientId(context), 
       new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "")); 
    } 
} 
相關問題