动态Jquery验证

时间:2013-02-07 12:49:51

标签: jquery jquery-validate

在html中,有三个文件只有不同的名称,如:number_1 , number_2, number_3。我想用js代码的简洁来做上面的验证。但它不起作用。任何人都可以解决这个问题吗?

这是我想要在下面提到的jquery规则方法的帮助下进行jquery验证的HTML:

    <form id="cc_form" method="post" action="">
    <div id="container">
    <div id="block1">
    CC_number_1 : <input type="text" id="number_1" name="number_1"> <br>
    </div>
    <div id="block2">
    CC_number_2 : <input type="text" id="number_2" name="number_2"> <br>
    </div>
    <div id="block3">
    CC_number_3 : <input type="text" id="number_3" name="number_3"> <br>
    </div>
    </div>
    <input type="submit" value="submit" name="submit">
    </form>

这是我的验证脚本,我希望通过它来进行如下验证。这里不包括Jquery库文件包含脚本。所以请添加这些文件进行验证,如下所示。

    $("#cc_form").validate({

    rules:{
    [name^='number_']:{
    required:true
    }

    },
    messages:{
    [name^='number_']:{
    required:"Enter number"
    }
    }


    });
    enter code here

在html中,有三个文件只有不同的名称,如:number_1 , number_2, number_3。我想用js代码的简洁来做上面的验证。但它不起作用。任何人都可以解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

试试这个: -

$(document).ready(function(){
$("#cc_form").validate();
    $("input[id*=number]").each(function() {
        $(this).rules("add", {
            required: true,
            messages: {
                required: "This is required field"
            }
        });
    });
  });

.validate() documentation是一个很好的教程,以及如何添加规则.rules("add", option)

  

添加指定的规则并返回第一个匹配元素的所有规则。要求验证父表单,即首先调用$("form").validate()

请确保首先需要先加载Jquery库,然后再加载jquery.validate.min.js

答案 1 :(得分:0)

首先 - [name^='number']不是正确的对象标签 - 你必须用引号封装它。并且,遗憾的是它仍然无法工作,因为显然规则和消息标签需要是特定元素的id而不是选择器。

在这里工作小提琴:http://jsfiddle.net/6nNRD/