2017-08-31 73 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

這也適用! –