Parsley.js - 不建议使用访问UI。直接在实例上调用'getErrorsMessages'

时间:2017-08-31 13:57:30

标签: javascript jquery parsley.js

将Parsley.js更新为最新2.7.2后,它会在控制台上显示此消息

  

不推荐访问用户界面。直接在实例上调用'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

我该如何解决?谢谢!

3 个答案:

答案 0 :(得分:2)

改变这个:

var messages = ParsleyUI.getErrorsMessages(fieldInstance);

到此:

var messages = fieldInstance.getErrorsMessages();

答案 1 :(得分: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

答案 2 :(得分:0)

要调试Parsley以查看哪些字段有错误,我使用此事件处理程序:

window.Parsley.on('field:error', function (fieldInstance) {
                           console.log(fieldInstance);
                           console.log(fieldInstance.getErrorsMessages());
                  });