JQuery Validate:如何添加检查多个字段总和的验证?
Posted
技术标签:
【中文标题】JQuery Validate:如何添加检查多个字段总和的验证?【英文标题】:JQuery Validate: How do I add validation which checks the sum of multiple fields? 【发布时间】:2011-04-12 11:27:54 【问题描述】:我正在尝试对我正在设置的动态表单使用 jQuery 验证。
在某些情况下,此表单包含一组输入框,假设总数为 100。
一个例子可能是:
请说明每个年级的学生比例是多少? 9 年级:TextBox1 10 年级:TextBox2 11 年级:TextBox3 12 年级:TextBox4
我想验证 TextBox1 + TextBox2 + TextBox3 + TextBox4 = 100%。
我该怎么做?
谢谢!
【问题讨论】:
【参考方案1】:<script>
$(document).ready(function()
$("#some-form").validate(
rules:
TextBox1:
required: true,
number: true,
min: 0,
max: 100,
,
TextBox2 :
required: true,
number: true,
min: 0,
max: 100,
TextBox3 :
required: true,
number: true,
min: 0,
max: 100,
TextBox4 :
required: true,
number: true,
min: 0,
max: 100,
,
submitHandler: function(form)
var total = parseInt($("#TextBox1").val()) + parseInt($("#TextBox2").val()) + parseInt($("#TextBox3").val()) + parseInt($("#TextBox4").val());
if (total != 100)
$(".error").html("Your total must sum to 100.")
return false;
else form.submit();
);
);
</script>
盗用和编辑from here。
【讨论】:
Hrm...这绝对是一个有效的答案(并且非常完整)。但不完全是我想要的。问题是可能有超过 1 组需要验证的字段。此外,字段名称是在运行时生成的,因此 javascript 也需要动态写出。无论哪种方式,这都是一个很好的起点!我可能可以从这里获取它,但如果您有任何建议,请随时添加更多建议。谢谢! 不用担心@贾斯汀。使用简单的 .sum() 方法(viralpatel.net/blogs/2009/07/…) 来计算文本框数组怎么样?您可以为每个 SET 文本框使用不同的类名,然后如果需要,您甚至可以在 .keyup() 事件上进行验证。我不确定 rule 是什么,但您可以发布另一个问题,如何使用类名验证元素集。以上是关于JQuery Validate:如何添加检查多个字段总和的验证?的主要内容,如果未能解决你的问题,请参考以下文章
一旦我将@Html.DropDownListFor 添加到表单中,Jquery.Validate 就会停止验证任何控件
jQuery .validate 聚焦时抛出异常。说“检查'依赖'方法”[重复]
如何使用 jQuery Validate 正确验证放置在多个选项卡上的 Twitter 引导表单?