JSF

2012-10-04 22 views
8

Koşullu stili h: iletilerinizi hata iletilerini görüntülemek için kullanıyorum ve onaylama hatası oluşması durumunda stilinin değişmesini istediğim bir bileşen var (herhangi bir bileşenin bir doğrulama hatası veya herhangi bir doğrulama iletisi verilmişse değiştir bu özel bileşenin stili). ben daha genel bir yol istiyorsanız JSF : Better way to check for existence of <h:message for="id"/>JSF

ama, stilini değiştirmek için formda herhangi bir bileşen geçerli veya başka değilse:

i bileşen doğrulama hataları varsa stilini değiştirmek için yolu hakkında bilmek kelimeler herhangi bir doğrulama mesajı oluşturulur.

bunu nasıl yapacağınızı bildirmenizi rica ederiz.

cevap

17

Genel olarak doğrulama işleminin başarısız olup olmadığını kontrol etmek için FacesContext#isValidationFailed() numaralı telefonu kullanabilirsiniz.

<h:outputText ... styleClass="#{facesContext.validationFailed ? 'fail' : 'success'}" /> 

Alternatif olarak, herhangi yüzleri mesaj olup olmadığını kontrol etmek için FacesContext#getMessageList() kullanabilirsiniz. Bu, genel olarak bir doğrulama hatası olduğunu göstermez, ayrıca eylem yöntemine eklenen global/başarı mesajları da olabilir.

<h:outputText ... styleClass="#{not empty facesContext.messageList ? 'hasmessage' : 'nomessage'}" />