我正在使用jquery validate 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
});
但得到"未捕获的TypeError无法读取属性'形式'未定义"错误如上所述。
任何帮助都将不胜感激。
答案 0 :(得分:3)
您正在添加规则获取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', {
requzired: true,
minlength: 3,
pattern: yt
});
});

使用$('#' + $ maximumID)获取该ID的字段,然后添加规则。
要向数组添加规则,请使用
$('#'+$largestID) .each(function () { }
您甚至可以验证该元素的名称数组
$('#'+$largestID).validate({
rules: {
'url[]': {
required: true,
}
}
});

答案 1 :(得分:1)
无需使用ID。你有一个返回元素的选择器,直接添加规则。
dependencies {
compile 'com.google.android.gms:play-services-location:8.4.0'
}