【问题标题】:JQuery Validate: How do I add validation which checks the sum of multiple fields?JQuery Validate:如何添加检查多个字段总和的验证?
【发布时间】:2011-04-12 11:27:54
【问题描述】:

我正在尝试对我正在设置的动态表单使用 jQuery 验证。

在某些情况下,此表单包含一组输入框,假设总数为 100。

一个例子可能是:

请说明每个年级的学生比例是多少?
9 年级:TextBox1
10 年级:TextBox2
11 年级:TextBox3
12 年级:TextBox4

我想验证 TextBox1 + TextBox2 + TextBox3 + TextBox4 = 100%。

我该怎么做?

谢谢!

【问题讨论】:

    标签: asp.net jquery validation


    【解决方案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 是什么,但您可以发布另一个问题,如何使用类名验证元素集。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2011-11-29
    • 1970-01-01
    相关资源
    最近更新 更多