giovedì 7 febbraio 2013

p:fileUpload non rimuove messaggi errore

Il componente p:fileUpload su prime faces presenta un piccolo bug, almeno fino alla versione che utilizzo io, ossia la 3.4.1.
Il problema è che i messaggi di errore rimangono sempre visibili nella pagina, anche dopo che si ritenta l'upload.
Il problema è segnalato anche nel forum del sito.
Un modo veloce per risolverlo è quello di associare al click sul componente un evento javascript che si occupi di rimuovere manualmente il o i record di errore presenti.
Non sono riuscito però a farlo funzionare associando l'evento direttamente al componente p:fileUpload e quindi lo ho wrappato da un div esterno.
Di seguito il codice :

  <div onclick="clearInvalidFileMsg()">
   <p:fileUpload   
   mode="advanced" update=":documentiForm:documentiTable" 
disabled="#{soggetto.stato=='X'}"
   fileUploadListener="#{fileUploadController.handleFileUpload}"
   invalidFileMessage="Formato del file non previsto. Formati consentiti [rtf, pdf, txt, doc, docx, xls, xlsx]. "
   invalidSizeMessage="Dimensione massima del file ecceduta. Massima dimensione contensentita 3Mb. "
   auto="true" label="Sfoglia"  sizeLimit="1000000" widgetVar="fileuplaod_wgt"
   allowTypes="/(\.|\/)(rtf|pdf|txt|doc|docx|xls|xlsx)$/" />
 </div>
.......
<script> function clearInvalidFileMsg(){ fileuplaod_wgt.uploadContent.find("tr.ui-state-error").remove(); } </script> 

Nessun commento:

Posta un commento