带有display:none表单元素的jqueryvalidation器插件

我正在使用此处的validation器插件来validation表单。

我遇到的问题是,如果我将以下内容放在表单输入元素周围,则validation失败:

我需要这个,因为我正在为输入元素使用其他UI控制层,并且不希望它们可见。

它适用于内联和块元素,但我需要隐藏它。 反正有没有解决这个问题?

感谢您的任何反馈

更新:

我主要使用djangovalidation选择选项字段(即:{{form.select_option_element}})

如此有效:

 
{{form.select_option_element}}

……不起作用

发布后我似乎解决了它:

 
{{form.select_option_element}}

然后它允许我validation该字段。

从jQueryvalidation的1.9.0更改日志:

  • 已修复#189 – :隐藏元素现在默认被忽略

要重新打开它,只需执行以下操作:

 $(document).ready(function(){ $.validator.setDefaults({ ignore: [] }); }); 

在您的代码中调用实际validation插件之前 ,请确保显示此内容。

我希望这有帮助!

我喜欢@dSquared的答案但不幸的是’ignore’属性将在页面上为每个表单的validation器重置。 在某些情况下,它不需要。

我用这种方式:

 $(document).ready(function () { var $form = $("#some-form"); $form.validate().settings.ignore = []; // ! Say to validator dont ignore hidden-elements on concrete form. $('#button-send').click(function () { if ($form.valid()) { .. } }); // !! apply plugin's initializers which will hide origin elements (it can be CLEditor or Choosen plugins) }); 

您是否尝试将style属性添加到input元素? 所以不要用div包装它,而是尝试:

  

你可以做两件事。

1)您可以为此输入字段静态设置值,该值不会失败validation

 

2)如果要在validation方法中忽略此值。

如果您能提供更详细的代码,我将不胜感激。

解决此问题的另一种forms是将display: none更改为visibility: hidden

例如: