2017-08-31 66 views
0

我更新Parsley.js到最新2.7.2后,它会显示在控制台Parsley.js - 不建议使用访问用户界面。调用实例“getErrorsMessages”直接

访问UI不赞成这个消息。呼叫 'getErrorsMessages' 的情况下直接

这是我的代码&工作版本:

$(".test-form").parsley({ 
    errorsContainer: function (ParsleyField) { 
    return ParsleyField.$element.attr("title"); 
}, 
    errorsWrapper: false 
}); 
window.Parsley.on('field:error', function (fieldInstance) { 
    var messages = ParsleyUI.getErrorsMessages(fieldInstance); 
    var errorMsg = messages.join(';'); 
    fieldInstance.$element.tooltip('dispose'); 
    fieldInstance.$element.tooltip({ 
     animation: true, 
     container: 'body', 
     placement: 'top', 
     title: errorMsg 
    }); 
}); 
window.Parsley.on('field:success', function (fieldInstance) { 
    fieldInstance.$element.tooltip('dispose'); 
}); 

CodePen:https://codepen.io/weilinzung/pen/MvZPKb

我怎样才能解决呢?谢谢!

回答

1

更改此:

var messages = ParsleyUI.getErrorsMessages(fieldInstance); 

这样:

var messages = fieldInstance.getErrorsMessages(); 
+0

这可能工作,谢谢! ! –

0

查找引用来解决它:

$(".test-form").parsley({ 
    errorsContainer: function (ParsleyField) { 
    return ParsleyField.$element.attr("title"); 
}, 
    errorsWrapper: false 
}); 

window.Parsley.on('field:error', function (fieldInstance) { 
    // var messages = ParsleyUI.getErrorsMessages(fieldInstance); 
    // var errorMsg = messages.join(';'); 
    fieldInstance.$element.tooltip('dispose'); 
    fieldInstance.$element.tooltip({ 
    animation: true, 
    container: 'body', 
    placement: 'top', 
    title: function() { 
     return fieldInstance.getErrorsMessages().join(';'); 
    } 
    }); 
}); 

window.Parsley.on('field:success', function (fieldInstance) { 
    fieldInstance.$element.tooltip('dispose'); 
}); 

参考:Display parsley errors in bootstrap tooltip

+0

这也适用! –