"Uncaught TypeError: Cannot read property 'setDefaults' of undefined" in console when page is loaded

"Uncaught TypeError: Cannot read property 'setDefaults' of undefined" in console when page is loaded

将 Jquery.Validation 更新到版本:1.19.2 后,错误开始在页面加载时显示在控制台中,旧版本不会抛出错误。

这是我的代码:

var defaultOptions = {
  validClass: '',
  errorClass: 'is-invalid',
  highlight: function(element, errorClass, validClass) {
    $(element).closest("div")
      .removeClass(this.validClass)
      .addClass(this.errorClass);
  },
  unhighlight: function(element, errorClass, validClass) {
    $(element).closest("div")
      .removeClass(this.errorClass)
      .addClass(this.validClass);
  }
};

$.validator.setDefaults(defaultOptions);

$.validator.unobtrusive.options = {
  errorClass: defaultOptions.errorClass,
  validClass: defaultOptions.validClass
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

错误具体抛出在: "$.validator.setDefaults(defaultOptions);"行

在 1.19.2 版本中没有找到合适的解决方案,但将版本降级回之前的 1.15.1 版本就可以了。