jQuery Validate .valid()函数不起作用

时间:2019-05-01 17:12:28

标签: jquery jquery-validate

如果我这样做:

$('#form').validate({
    // ....
})

然后我隐藏表单#form

$('#form').hide() .

然后我检查$('#form').valid(),即使表格无效,我也总是得到true

示例:显示表单时,在文本字段中单击checkTestValid,不显示任何内容(它提醒false),然后使用clickHide隐藏表单,然后使用{{1 }}再次检查(它会向checkTestValid发出警报):

true
$('#testForm').validate({
  rules: {
    testInput: {
      required: true,
    }
  },
});

$(".btnTest").click(function() {
  $("#tab2").hide();
})
$(".btnTest2").click(function() {
  $("#tab2").show();
})
$(".clickTestVelid").click(function() {
  alert($("#testForm").valid())
})

1 个答案:

答案 0 :(得分:4)

默认情况下,由于ignore option的默认值为":hidden",因此它将忽略隐藏的元素,因此请更新ignore option

$('#testForm').validate({
  // updated to ignore class selector to ignore only elements with class .ignore
  ignore: ".ignore"
  rules: {
    testInput: {
      required: true,
    }
  },
});