jQuery验证回调函数

时间:2011-06-03 08:20:50

标签: jquery jquery-ui jquery-validate validation lightbox

我目前在我的网页上的灯箱框架中有一个表单。当用户使用无效数据提交表单时,会出现一个div,其中包含表单顶部的表单错误列表。问题是:我需要某种jQuery验证回调来在错误div出现后调整灯箱的大小。据我所知,没有办法用jQuery灯箱做到这一点。

2 个答案:

答案 0 :(得分:19)

您提供无效的回调函数,您可以找到documented here,如此

$(".selector").validate({
    invalidHandler: function(form, validator) {
        var errors = validator.numberOfInvalids();
        if (errors) {
            //resize code goes here
        }
    }
})

答案 1 :(得分:3)

或者,您可以使用errorPlacement回调函数来处理验证失败的特定元素。例如,下面的代码使用errorPlacement回调将每个无效表单元素的父div标记的类设置为“error”,然后在元素通过验证后删除“error”类:

form.validate({
        rules: {
            Name: {
                required: true
            },
            Email: {
                required: true
                , regex: "^[0-9a-zA-Z.+_\-]+@{1}[0-9a-zA-Z.+_\-]+\\.+[a-zA-Z]{2,4}$"
            }
        },
        messages: {
            Name: {
                required: "Please give us your name"
            },
            Email: {
                regex: "Please enter a valid email address"
            }
        },

        errorPlacement: function(error, element) {
            element.parent().addClass("error");
        },

        success: function(element) {
            $("#" + element.attr("for")).parent().removeClass("error");
        }
    });