我需要验证一个表单,该表单使用隐藏输入来动态创建一组值。这些隐藏的输入在空表单上不存在,但我想确保在提交表单之前至少创建一个。
验证器插件需要现有元素才能将规则附加到它。有没有办法将规则附加到选择器或类似的东西,以测试元素是否存在?
我能想到的唯一其他选择是使用提交处理程序来执行二次验证。
我绑定了这样的规则:
var elements = $("#" + formId + ' [name=\"' + name + '\"]');
if(elements.length > 0){
elements.each(function(i){
$(this).rules("add", {
required: true
});
});
}
因此,没有真正的方法可以将规则添加到尚不存在的元素中。我可以(并且确实)在动态创建元素时添加规则,但是如何测试该元素是否尚未创建?
有什么建议吗?
答案 0 :(得分:1)
您以何种方式准确附加这些规则?在不知道发生了什么的情况下,很难回答你的问题。
也许您可以将验证器规则附加到body元素或表单元素并检查以下内容?
$('[yourSelector]').length > 0
另外,我想你可以创建一个stub div元素并附加到它。