在DIV中使用display:none的字段进行jqueryvalidation
我在显示的字段上遇到问题:无…我需要在点击提交表单按钮后出现错误消息,即使要validation的字段在div中,显示:无设置。 我找到解决方案,并尝试添加到jQuery代码设置
ignore: []
但这不会改变任何事情。 使用名为’moreurlinput’的类查看div,他获得了内联样式显示:none,但是如果将其更改为显示:inline(块,表等),则会出现validation错误。
HTML
jQuery的
jQuery('.validatedForm').validate({ errorElement: "div", errorClass: 'validate-error', rules: { "moreurl": { required: true } }, messages: { moreurl: "Please define 'More' URL value" }
});
这里 : http : //jsfiddle.net/Lprn89o8/2/
validation与预期完全一致。 你的整个问题是错误元素也在你隐藏的div
所以无法看到消息。
解决方案是使用errorPlacement
选项将消息放在隐藏的div
。
errorPlacement: function(error, element) { error.insertAfter($(element).parent()); },
您还需要ignore: []
选项,以便不会忽略任何内容并validation您的隐藏元素。
工作演示: http : //jsfiddle.net/Lprn89o8/4/
另一种解决方案是将display:none
移动到input
元素,允许div
保持可见。
替代方案: http : //jsfiddle.net/Lprn89o8/5/
编辑 :
您的button
元素的HTML无效。 您不应该使用“自闭”标记,因为元素本身是一个具有结束标记的容器 。
Add
应该…