带有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
。
例如: