【问题标题】:Why does jQuery Validation Plugin validate all fields?为什么 jQuery 验证插件会验证所有字段?
【发布时间】:2014-05-26 02:00:00
【问题描述】:

我在几个表单上运行了 jQuery Validation 插件,但对它并不完全满意,所以我转向了不同的解决方案。过了一会儿,我发现我需要返回插件,但我无法让它正常工作。出于某种原因,它想要验证表单中的所有字段,而不仅仅是那些有规则的字段。

这是表格:

<form id="test-form">
    <div class="form-group">
        <label for="firstName">First Name</label>
        <input type="text" name="firstName" id="firstName">
    </div>
    <div class="form-group">
        <label for="lastName">Last Name</label>
        <input type="text" name="lastName" id="lastName">
    </div>
    <input type="submit">
</form>

这里是javascript:

    $.validator.setDefaults({
        errorClass: 'help-block',
        errorElement : 'span',
        ignoreTitle : true,
        highlight : function (element, errorClass, validClass) {
            $(element).closest('.form-group').addClass('has-error');
        },
        unhighlight : function (element, errorClass, validClass) {
            $(element).closest('.form-group').removeClass('has-error');
        }
    });

    $('#test-form').validate({
        rules: {
            firstName: {
                required: true
            }
        },
        messages: {
            firstName: {
                required: 'First name is required'
            }
        }
    });

当我运行它时(两个表单域都为空白),我收到了 firstName 的预期错误消息,但我也收到了 lastName 的错误消息。消息只是说“消息”。

我真的看不出这次我在做什么不同,但显然它一定是什么!

【问题讨论】:

    标签: jquery validation


    【解决方案1】:

    您需要告诉验证插件ignore lastName 字段

    $('#test-form').validate({
        ignore: '#lastName',
        rules: {
            firstName: {
                required: true
            }
        },
        messages: {
            firstName: {
                required: 'First name is required'
            }
        }
    });
    

    【讨论】:

    • 感谢 J. Titus。我可以看到它是如何工作的,但我确信我过去不必这样做......
    【解决方案2】:

    好的,所以这归结为一个荒谬的随机配置错误。基本上,在我的基本 javascript 文件中,我有以下行:

    $.validator.addMethod('name', function() {}, 'message');
    

    我已着手创建自定义验证方法,但显然分心了。似乎这以某种方式将验证器添加到所有表单元素!

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多