jquery验证文本输入数组仅验证第一个字段[重复]
Posted
技术标签:
【中文标题】jquery验证文本输入数组仅验证第一个字段[重复]【英文标题】:jquery validate text input array validates first field only [duplicate] 【发布时间】:2018-04-22 09:22:37 【问题描述】:我有一组文本框来收集 5 个电子邮件地址。我使用 jQuery validate 来验证表单以接受电子邮件地址,不幸的是它只验证第一个字段。
虽然错误消息出现在其余字段中,但它允许表单提交。我需要这个问题的本地解决方案。
这里是sn-p的代码:
$(document).ready(function()
$('#myform').validate(
rules:
"foo[]":
required:true,
email:true
,
messages:
"foo[]":
required:"required",
number:'only numbers!!!'
);
);
这是表格:
<form method="post" action="" id="myform">
<input type="text" name="foo[]" value="">
<input type="text" name="foo[]" value="">
<input type="text" name="foo[]" value="">
<input type="text" name="foo[]" value="">
<input type="text" name="foo[]" value="">
<input type="image" name="bar">
</form>
【问题讨论】:
name
对于表单必须是唯一的,插件才能正常工作。 [jqueryvalidation.org/reference/#link-markup-recommendations]。查看此question 将相同的规则添加到多个字段。
【参考方案1】:
这里是修复。您可以使用 Jquery 每个函数
$(document).ready(function()
$('#myform').validate( // initialize the plugin
// other options
);
$("[name^=foo]").each(function ()
$(this).rules("add",
required: true,
email:true,
messages:
required:"required"
);
);
);
表格应该是这样的:
<form method="post" action="" id="myform">
<input type="text" name="foo[1]">
<input type="text" name="foo[2]">
<input type="text" name="foo[3]">
<input type="text" name="foo[4]">
<input type="text" name="foo[5]">
</form>
【讨论】:
这个答案最相关的部分是每个文本输入字段上的唯一name
属性。以上是关于jquery验证文本输入数组仅验证第一个字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 jquery 验证器验证具有相同名称的多个文本框仅验证第一个输入
jQuery Validation - 仅验证来自多个必填字段的 2 个字段 [重复]