我正在尝试使用 validate plugin在 div 上,如对 this question 的回答所示:
<script type="text/javascript">
$("#pseudoForm").validate({
onfocusout:true,
rules:{
first_name:"required",
last_name:"required"
}
});
</script>
<!-- whatever -->
<div id="pseudoForm">
<input type="text" name="first_name"/>
<input type="text" name="last_name"/>
</div>
我把所有的都放在一个表格里。
我在不同的浏览器上遇到了一堆不同的错误。
- Firefox:未定义的验证器
- IE8: 'settings' 为空或不是 对象
- Chrome:无法读取未定义的属性“设置”
感谢任何帮助!
最佳答案
这不是你想听到的答案,但另一个答案是不正确的(它可能是正确的发布时,但从那时起已经有几个主要的 jQuery 验证插件更改).
The validation plugin (目前)设计用于 <form>
,并且仅在<form>
上.您还可以注意到 all of the plugin documentation引用一个表单,而不是任何其他通用容器。
插件本身会跟踪 validator.currentForm
在内部,它指的是 this
传入的选择器,得到 .elements
等等...它真的不会以任何其他方式工作,而不是当前版本的编写方式。
此处的整体解决方案/替代方法:调用 .validate()
在 <form>
上元素(而不是它的 jQuery 包装器),而不是任何其他容器。如果你需要划分你的 <form>
使用 <fieldset>
元素,可能使用 ignore: ':hidden'
.validate()
中的选项如果您不想验证用户不可见的输入字段。
关于javascript - DIV 上的 jQuery 验证插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936221/