Javascript 用validate检查空字段

Javascript 用validate检查空字段,javascript,validation,Javascript,Validation,我有以下代码: $("#formulario").validate({ ignore: [], rules: { nome:{required: true}, contato:{required: true}, telefone:{required: true}, cidade:{required: true}, email:{required: true, email: true}, mensag

我有以下代码:

$("#formulario").validate({
ignore: [],
rules: {
        nome:{required: true},
        contato:{required: true},
        telefone:{required: true},
         cidade:{required: true},
        email:{required: true, email: true},
        mensagem:{required: true},
      },
  });
它工作得很好

但我在表单中插入了一个名为URL的隐藏字段,只有当该隐藏字段为空时,才应执行上述代码


如何创建?

假设隐藏的输入字段具有id
url

您可以将函数调用封装在if条件中,在该条件下,您可以检查id
url
的隐藏字段是否为空

var hiddenField = $('#url');
 if( hiddenField.val().length === 0 ) {
       $("#formulario").validate({
    ignore: [],
    rules: {
        nome:{required: true},
        contato:{required: true},
        telefone:{required: true},
        cidade:{required: true},
        email:{required: true, email: true},
        mensagem:{required: true},
       }
    });
   }

您可以在jQuery验证器中进行一些验证

$("#formulario").validate({
ignore: [],
rules: {
        newHiddenField:{maxlength: 0},
        ...
        nome:{required: true},
        contato:{required: true},
        telefone:{required: true},
        cidade:{required: true},
        email:{required: true, email: true},
        mensagem:{required: true},
      }
});
或者您可以检查字段是否为空,然后调用验证程序,如果它是

let isHiddenFieldEmpty = Boolean($("#formulario input[name=newHiddenField]").val().length === 0);

isHiddenFieldEmpty && $("#formulario").validate({
ignore: [],
rules: {
        nome:{required: true},
        contato:{required: true},
        telefone:{required: true},
        cidade:{required: true},
        email:{required: true, email: true},
        mensagem:{required: true},
      }
});