javascript - jQuery 验证未捕获类型错误无法读取未定义的属性 'form'

标签 javascript jquery validation

我正在使用 jquery 验证 http://jqueryvalidation.org/

我有一个表单,其中第一个字段手动添加(硬编码)

然后以编程方式添加更多字段。 ARE 已附加到表单标签内,进入 div #to-append

手动添加的验证良好。

对于其余的,我尝试添加这样的规则,每次添加字段时:

var $largestID = $("#to-append > div:last > div:first > input:first").attr("id");
console.log($largestID); //throws right id

$($largestID).rules("add", {
        required: true,
        minlength: 3,
        pattern: yt

});

但是得到了上面提到的“Uncaught TypeError Cannot read property 'form' of undefined”错误。

如有任何帮助,我们将不胜感激。

最佳答案

您正在添加采用 ID 字符串的规则。相反,采用元素选择器,并向该选择器添加规则。

var $largestID = $("#to-append > div:last > div:first > input:first").attr("id");
console.log($largestID); //throws right id

$('#'+$largestID).each(function () {
    $(this).rules('add', {
       required: true,
       minlength: 3,
       pattern: yt
    });
});

使用$('#'+$largestID)获取该ID的字段,然后添加规则。

要将规则添加到数组,请使用:

 $('#'+$largestID).each(function () { })

您甚至可以验证该元素的名称数组:

 $('#'+$largestID).validate({
    rules: {
      'url[]': {
        required: true,
      }
    }
});

关于javascript - jQuery 验证未捕获类型错误无法读取未定义的属性 'form',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35473775/

相关文章:

regex - 我需要一个只接受允许空格的文本字符的正则表达式

c++ - 递归验证函数堆栈溢出

javascript - 有没有一种干净的方法来使用 symfony 2.6 设置 websocket

javascript - Highcharts 极坐标图 - 中心为零

javascript - 将 this.value 传递给 JS 中的函数,然后更改该值

javascript - 通过过滤器隐藏不需要的结果

jquery IF/ELSE 语句悬停函数仅在第二次悬停时触发?

javascript - 在 jQuery UI Datepicker 中输入文本值

javascript - CSS 在加载时临时更改行的背景颜色。

javascript - 使用 Javascript 强制文本框中事件 Onkeypressed 的数字精度