Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery验证插件未验证前半个表单的问题_Jquery_Jquery Plugins_Jquery Validate_Validation - Fatal编程技术网

jQuery验证插件未验证前半个表单的问题

jQuery验证插件未验证前半个表单的问题,jquery,jquery-plugins,jquery-validate,validation,Jquery,Jquery Plugins,Jquery Validate,Validation,我将jQuery与Nathan Long的方法结合使用,不幸的是,我在验证表单中的其他字段时遇到了问题 高于必填字段集的任何内容都无法正确显示其错误消息 这(加上jQuery 1.4.2和Validate插件)是我的代码: <form> <label for="fullName">Name <em>required</em></label> <input id="fullName" name="fullName" type="t

我将jQuery与Nathan Long的方法结合使用,不幸的是,我在验证表单中的其他字段时遇到了问题

高于必填字段集的任何内容都无法正确显示其错误消息

这(加上jQuery 1.4.2和Validate插件)是我的代码:

<form>

<label for="fullName">Name <em>required</em></label>
<input id="fullName" name="fullName" type="text" class="required"><br />

<fieldset>
<legend>Enter 1 of 3 emails <em> required</em></legend>
<label for="field1">field1</label><input id="field1" class="group_required email" type="text" name="field1" /><br />
<label for="field2">field2</label><input id="field2" class="group_required email" type="text" name="field2" /><br />
<label for="field3">field3</label><input id="field3" class="group_required email" type="text" name="field3" /><br />
</fieldset>

<input name="submitbutton" type="submit" />

</form>


<script>
jQuery.validator.addMethod("require_from_group", function(value, element, options) {
    numberRequired = options[0];
    selector = options[1];
    //Look for our selector within the parent form
    var validOrNot = $(selector, element.form).filter(function() {
         // Each field is kept if it has a value
         return $(this).val();
         // Set to true if there are enough, else to false
      }).length >= numberRequired;

        if(!$(element).data('being_validated')) {
            var fields = $(selector, element.form);
            //.valid() means "validate using all applicable rules" (which 
            //includes this one)
            fields.data('being_validated', true).valid();
            fields.data('being_validated', false);
        }
        return validOrNot;
        // {0} below is the 0th item in the options field
    }, jQuery.format("Please fill out at least {0} of these fields."));


$(document).ready(function(){

    $("form").validate({
         debug: true,
    });

    jQuery.validator.addClassRules("group_required", {require_from_group: [1, ".group_required"]});

});

</script>

修复了错误消息显示问题,但重新引入了Nathan试图解决的问题。

您不需要为其他字段添加规则吗

$("form").validate({
    debug: true,
    rules: {
        'fullName': {
            required: true
        }
    }
});
“class=”required“足够让fullName字段根据需要进行验证。如果我在字段中单击进出,它就会工作。
$("form").validate({
    debug: true,
    rules: {
        'fullName': {
            required: true
        }
    }
});