使用Jquery或其他不带id名称或类的表单验证


Form validation with Jquery or other without id name or class

我不知道如何解决这个问题,也许有人能帮上忙。

我有一个动态表单,根据用户输入复制表单的图片。

所以我不能使用id,因为它不是uniq(Jquery Val.plugin)。

我不能使用类,因为它们用于布局。。。

我不能使用名称,因为用于在数组中发布。。。

那么,在哪里进行验证呢?

有人给我小费吗?

谢谢!!!

我假设您对每个输入组都有相同的验证类型,并且我确信您为新输入生成了一个新名称,对吗?

使用name="field"复制输入时。。使复制的name="field-2"

在jQuery中,使用从选择器开始验证这些字段

$( "input[name^='field']" ) // This will match field and field-2

更高级的方法:

如果您需要访问这些动态字段。您需要生成自己的data-Anything

当你有这样的输入时

<input type="text" name="field" data-order="0" data-type="mytype" data-duplicated="FALSE">

复制的可以像这个

 <input type="text" name="field2" data-order="1" data-type="mytype" data-duplicated="TRUE">

然后访问jQuery 中的第二个类似的

$("input").each(function(index){
    if($(this).data("type") == "mytype" && $(this).data("order") == 0){
        // validate
    }
});

使用顺序或重复字段访问所有重复项。你可以随心所欲。

$("input").each(function(index){
    if($(this).data("type") == "mytype" && $(this).data("order") > 0){
        // validate
    }
});

因此,基本上,您可以按照自己想要的方式动态定义数据属性,并通过在HTML页面中循环当前输入来访问它们。当您找到输入时,立即应用验证函数。