大型表单上的jQuery验证

大型表单上的jQuery验证,jquery,forms,jquery-validate,Jquery,Forms,Jquery Validate,我正在创建一个web应用程序,它由用户提交给服务器的一个大表单组成 这个表单有标准的jQuery验证,可以正常工作。() 但是,表单中间的一个部分将需要通过Ajax调用提交。假设表单的这一部分有一个简单的“add”按钮——当按下add按钮时,是否可以只验证表单的这一部分 并在正常提交时验证表单的其余部分。我查看了jQuery验证api,没有看到任何内容 我想我可以打一个手动电话,比如: $('#commentForm').validate({ rules : { cnam

我正在创建一个web应用程序,它由用户提交给服务器的一个大表单组成

这个表单有标准的jQuery验证,可以正常工作。()

但是,表单中间的一个部分将需要通过Ajax调用提交。假设表单的这一部分有一个简单的“add”按钮——当按下add按钮时,是否可以只验证表单的这一部分

并在正常提交时验证表单的其余部分。我查看了jQuery验证api,没有看到任何内容

我想我可以打一个手动电话,比如:

$('#commentForm').validate({
    rules : {
        cname: {
            required: true,
            minlength: 2
        }
    }
}).element("#cname");
不幸的是,这增加了在按下主提交按钮时检查的验证


任何关于这件事的帮助或建议都将不胜感激:)

这可能对你有用

HTML

  <form id="commentForm" method="post" action="index.php" style="font-family: Georgia">
     <fieldset>
        <legend>The main form</legend>
        <label for="text1">Text 1</label>
        <input type="text" id="text1" name="text1" />
        <br /><br />
        <fieldset id="opt">
           <legend>This section is only rquired when "Add" button is clicked</legend>
           <label for="text2">Text 2</label>
           <input type="text" id="text2" name="text2" />
           <br /><br />
           <button id="add">Add</button>

        </fieldset>
        <br />
        <label for="text4">Text 4</label>

        <input type="text" id="text4" name="text4" />
        <br /><br />
        <input type="submit" id="submit" value="Post Main Form" />
     </fieldset>
  </form>
这种方法使用jQuery validator插件的
ignore
选项以及
.valid()
方法手动触发元素验证。我希望有帮助


这个例子是使用jQuery验证插件-v1.10.0进行测试的

您在这里使用哪个验证fn.extend?对不起,我正在用这个:我想这正是我需要的!我不知道我可以用插件“忽略”某些元素!非常感谢你,Ejay!
        $('#commentForm').validate({
           //ignore everything in the sub-form
           ignore: '#opt *',
           rules: {
              text1: {
                 required: true,
                 minlength: 2
              },
              text4: {
                 required: true,
                 minlength: 2
              }
           }
        });

        $('#add').click(function () {

           var txt = $('#text2');

           //here you add validation rules for sub-form elements
           txt.rules('add', {
              required: true
           });

           //here you trigger the validation for elements in subform
           txt.valid();

           /* here you do your ajax stuff */

           return false;
        });