JQuery验证:验证隐藏字段

时间:2012-12-19 10:36:26

标签: jquery jquery-validate

自JQuery Validation Plugin版本1.9.0发布以来,验证检查[source]已自动忽略隐藏字段。

根据release notes,解决此问题的方法是在验证函数中设置ignore: []

使用版本1.10.0,我无法将其用于使用display: nonevisibility: hidden隐藏的输入字段。

我的验证是使用类完成的(例如class="required"),验证函数非常基础:

JQuery的

$("form").validate({
    ignore: [],  
    errorPlacement: function(error, element) {
        error.appendTo( $('#error-message') )
    },
    invalidHandler: function() {
        //do something 
    },
    submitHandler: function() {
        //do something else
    }
});

工作示例:http://jsfiddle.net/fbCVY/

有谁可以指出我哪里出错?

2 个答案:

答案 0 :(得分:6)

我认为您需要为每个id标记提供唯一的name和唯一的input属性,以便验证插件可以找到字段并将它们分开。两个“隐藏”字段没有失败验证,因为表单上的第一个字段传递,并且该结果用于其他两个字段。

答案 1 :(得分:2)

尝试使用规则:

$("form").validate({
    ignore: "",
    rules: {
        name: ["aa", "ee"]
    },  
    errorPlacement: function(error, element) {
        error.appendTo( $('#error-message') )
    },
    invalidHandler: function() {
        //do something 
    },
    submitHandler: function() {
        //do something else
    }
});

Jsfiddle

问候。