jQuery Validation Plugin,Unbind Single Rule?

时间:2014-03-04 19:15:57

标签: jquery jquery-validate

有没有办法在jquery验证器中取消绑定规则?

假设我有:

$('#myform').validate({
            rules: {
                field1: {
                    required: true
                },
                field2: {
                    required: true
                }
            }
        })

我想要的是,当我完成验证时,它必须取消绑定字段2.

2 个答案:

答案 0 :(得分:1)

$('#myform').validate({  // initialize the plugin
    rules: {
        field1: {
            required: true
        },
        field2: {
            required: true
        }
    }
})

您可以使用the .rules() method从指定的输入中删除所有验证规则。

$('input[name="field2"]').rules('remove')

我不确定我理解为什么在成功验证后需要删除规则,但您可以使用the .valid() method以编程方式测试表单,然后删除规则。

if ($('#myform').valid()) {    // if the form is valid
    $('input[name="field2"]').rules('remove');  // then remove the rules
}

.valid()将立即测试表单,并根据验证状态返回布尔值truefalse

答案 1 :(得分:0)

使用$(“#field2”)。规则(“删除”,“必需”)

$("#commentForm").validate({
 rules: {
    field1: {
        required: true
    },
    field2: {
        required: true
    }

 }
});

//To remove rule after submitting it will be removed
$('#commentForm').submit(function () {
  $(this).validate();
  $("#field2").rules("remove", "required");
});

http://jsfiddle.net/Af9a9/3/