使用JQuery Validate插件的报Cannot read property 'settings' of undefined错误的解决方法

一、问题描述:

因为最近在做动态表单,很多字段需要动态添加验证,而我在动态添加删除校验规则时,浏览器经常报Cannot read property 'settings' of undefined,每次都要上网百度,发现网上的答案不总是能解决问题,而且费时间,因此特意写篇来记录一下,以便以后查看。

二、注意事项:

(1)在动态添加删除校验规则之前,记得初始化表格校验:

1 $("#inputForm").validate({
2     rules: {
3 
4     },
5     messages: {
6  
7     }
8 });

(2)确保用JQuery选择器获取的对象(下面代码标红的部分)不为空

$('选择器').rules('add', {
    maxlength: max_len,
    messages: {
        maxlength: jQuery.validator.format("<i class='fa fa-times-circle'></i><span style='color:#FF0000;'>字段的最大长度为{0}个字符</span>")
    }
});

 (3)尽量不要在别的页面动态添加验证,可以在需要验证的页面写个验证的function,然后在别的页面调用本页面的验证function。

原文地址:https://www.cnblogs.com/bk-jin/p/9258786.html