首页 > 解决方案 > 加载页面时控制台中的“未捕获的类型错误:无法读取未定义的属性‘setDefaults’”

问题描述

将 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);” 线

标签: jqueryasp.netunobtrusive-validation

解决方案


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


推荐阅读