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 引导表单?

JQuery的validate验证时 如何验证下拉框是否选中

jquery.validate:多个远程规则

如何安装 jQuery Validate 插件?