【发布时间】:2018-10-05 16:55:44
【问题描述】:
当我尝试使用jQuery Validator plugin 验证表单时遇到问题。所以在这种情况下,我构建了一个 div 表(不是表元素,而是样式为表的 div),其中每一行本质上是它自己的表单,带有任何表单控件。
但是,由于该表可能有数百行,因此我不希望将每个行元素包装在其自己的单独形式中的开销。所以我想出了一个想法,即 save 方法只是将行本身作为 arg,以便在幕后创建/验证/提交表单。
我所做的基本上是克隆行并将克隆附加到我创建的新表单上
$("<form></form>").append(clonedRow);
然后我获取结果变量(表单)并设置验证。验证选项/设置如下所示:
form.validate({
rules: {
Follow_Up_Code: { required: true, maxlength: 2 }
},
messages: {
Follow_Up_Code: { required: "...", maxlength: "..." }
},
submitHandler: function(){...}
});
目前我只想针对这一行中的一个输入进行验证以进行测试。这是输入标记:
<input type="text" class="get set input" name="Follow_Up_Code" style="width: 100%;">
表单运行 .validate() 后,我立即提交表单。但是,对于我的测试用例,表单通过验证并每次运行验证器中设置的 SubmitHandler。
这让我觉得我想用这个插件验证的任何表单都需要附加到 DOM 才能正确验证。但是我没有找到关于此的文档。我想知道是否有办法解决这个问题,或者我是否最好为此尝试查找/创建自己的验证服务。
【问题讨论】:
标签: javascript jquery html validation