5

Sto usando parsley 2.0.0-rc5 e voglio visualizzare i messaggi di errore in un suggerimento bootstrap. Sto usando "parsley: field: error" ma l'evento si attiva prima che l'errore venga visualizzato in error-container e non riesco a rilevare l'errore. Qualcuno un'idea di come ottengo il messaggio di errore per ogni campo?Visualizza errori di prezzemolo nel suggerimento bootstrap

$.listen('parsley:field:error', function (e) { 

    dataParsleyId = e.$element.attr('data-parsley-id'); 
    errorMsg = 'Error: ' + $('#parsley-id-'+dataParsleyId).text(); 

    e.$element.attr('data-original-title', errorMsg); 
    e.$element.tooltip('show'); 

}); 
+0

hanno un requisito simile, Hai capire come ottenere il messaggio? –

+0

capito! ho aggiunto una risposta [qui] (http://stackoverflow.com/a/23138289/720508) –

risposta

13

Guillaume Potier, l'autore di prezzemolo, ha aggiunto un metodo ParsleyUI.getErrorsMessages(parsleyFieldInstance) che restituirà una serie di messaggi di errori. È disponibile sul ramo principale in github e verrà rilasciato nella prossima versione stabile.

Questo funziona perfettamente per me, e questo è il mio codice di esempio:

window.Parsley.on('field:error', function (fieldInstance) { 
    fieldInstance.$element.popover({ 
     trigger: 'manual', 
     container: 'body', 
     placement: 'right', 
     content: function() { 
      return fieldInstance.getErrorsMessages().join(';'); 
     } 
    }).popover('show'); 
}); 

window.Parsley.on('field:success', function (fieldInstance) { 
    fieldInstance.$element.popover('destroy'); 
}); 
+0

Fantastico, ottimo aiuto! Come hai fatto a nascondere gli errori originali in LI? – toobulkeh

+3

Ho appena risposto alla mia domanda, per disattivare tutta l'interfaccia utente, è sufficiente impostare '" data-parsley-ui-enabled "' a 'false', o' data-parsley-errors-messages-disabled' per aver omesso l'errore messaggi – toobulkeh

+1

Come aggiunta, puoi sempre usare '

' se non vuoi mostrare contenitori di errore standard, ma vuoi comunque che venga visualizzato il popup. –