jQuery:验证后拦截提交

时间:2012-06-20 13:18:58

标签: jquery validation

我正在使用jQuery的验证插件来检查我的表单的一些值。验证工作正常,但现在我想在提交表单之前检查其他内容。

这是附加检查,只有在成功验证表单的所有字段后才能运行:

$("#formname").submit(function() {
    if($("#input").val() == $("#hiddenInput").val() {
        // Everything fine, may submit
        return true;
    } else {
        // Check wasn't successfull, let's alert
        alert("Fix the input");
        return false;
    }
})

这是使用插件的实际验证:

$("#formname").validate({
    rules: {
        ou: {
            required: true,
            minlength: 2,
            number: true
        },
        directors: {
            required: true,
            number: true
        }
    },
    messages: {
        ou: {
            required: "Message",
            minlength: "Message",
            number: "Message"
        },
        directors: {
            required: "Message",
            number: "Message"
        }
    },
    errorPlacement: function ($error, $element) {
        var name = $element.attr("name");

        $("#" + name + "Error").append($error);
    }
})

我确实将第一个代码段添加到开头,但每次点击提交时都会运行,无论验证本身是否成功。是否有某种验证返回代码或我可以检查的事件?

1 个答案:

答案 0 :(得分:4)

假设相同的插件,添加

submitHandler: function(form) {
    alert('your submit code here');
}

验证,参考here

或者添加如下规则:

input: {
      equalTo: "#hiddenInput"
    }

这将验证它与其他验证一样。