一、问题描述:
因为最近在做动态表单,很多字段需要动态添加验证,而我在动态添加删除校验规则时,浏览器经常报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。