Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Display parsley errors in bootstrap tooltip

I'm using parsley 2.0.0-rc5 and want display the error messages in a bootstrap tooltip. I'm using "parsley:field:error" but the event fires before the error is displayed in error-container and I can't pick up the error. Someone an idea how I get the error message for each field?

$.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');

});
like image 912
The Dude Avatar asked Apr 11 '14 09:04

The Dude


1 Answers

Guillaume Potier, the author of parsley, has added a ParsleyUI.getErrorsMessages(parsleyFieldInstance) method that will return an array of messages errors. It is available on master branch in github and would be released in next stable version.

This works perfectly for me and this is my sample code:

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');
});
like image 133
The Dude Avatar answered Sep 18 '22 00:09

The Dude