Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.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
Javascript JQuery验证:验证隐藏表单(可能存在错误)_Javascript_Jquery_Validation - Fatal编程技术网

Javascript JQuery验证:验证隐藏表单(可能存在错误)

Javascript JQuery验证:验证隐藏表单(可能存在错误),javascript,jquery,validation,Javascript,Jquery,Validation,我正在使用来处理表单验证 我遇到的问题是,当表单被隐藏时,验证插件会忽略需要验证的字段并直接提交表单 例如: 我已经浏览了这个插件,并用谷歌搜索了这个问题,但我找不到任何说明隐藏表单中的字段被忽略原因的信息 值得注意的是,如果页面上有两个表单,其中一个是隐藏的,另一个是显示的,那么如果两个表单使用相同的验证方法,则两个表单都会成功验证。但是,如果调用两个单独的验证方法,则隐藏表单中的字段仍然会被忽略 使用相同的验证函数验证两个表单: 使用不同的验证函数验证两个表单: 有人知道这是一个bug还

我正在使用来处理表单验证

我遇到的问题是,当表单被隐藏时,验证插件会忽略需要验证的字段并直接提交表单

例如:

我已经浏览了这个插件,并用谷歌搜索了这个问题,但我找不到任何说明隐藏表单中的字段被忽略原因的信息

值得注意的是,如果页面上有两个表单,其中一个是隐藏的,另一个是显示的,那么如果两个表单使用相同的验证方法,则两个表单都会成功验证。但是,如果调用两个单独的验证方法,则隐藏表单中的字段仍然会被忽略

使用相同的验证函数验证两个表单:

使用不同的验证函数验证两个表单:

有人知道这是一个bug还是有一种特殊的方法来验证隐藏的表单吗?

试试这个

我在
验证
调用中添加了
忽略
隐藏
选项

$("form").validate({
  ignore: 'hidden',
  rules: {
    "first": "required"
  },
  invalidHandler: function() {
    alert("error");   
  },
  submitHandler: function( form ) {
    alert("no error");
  }
});

如果您签出上的
忽略
选项,它会显示默认值为
:hidden
。这显然意味着,如果不明确指定
ignore
选项,验证将忽略隐藏的输入

只需定义
ignore
选项(可以留空),它就可以解决问题

$("form").validate({
  ignore: '',
  rules: {"hidden_field": {required:true}}
});

谢谢,这真奇怪。我似乎能够在ignore字段中添加任何内容,而且效果很好。我想这一定会迫使它遍历字段,这让我觉得这一定是个bug。谢谢你的帮助@我的头痛-是的,我注意到了,很奇怪,但很好,不管怎样它还是有效的=)请注意,之所以有效,是因为你从前面漏掉了冒号:隐藏。您实际上是告诉它忽略任何可能存在的html标记,而不是告诉它忽略隐藏类型的输入。我面临同样的问题,因此我正在编写自己的代码来验证表单。(当我在.aspx webform中时)+1-谢谢,这解释了为什么在ignore中添加任何内容仍然有效