无法中断jquery.validate回调

Cannot break on jquery.validate callbacks

本文关键字:validate 回调 jquery 中断      更新时间:2023-11-22

我正在使用Firefox/Firebug,试图逐步完成一些jquery.validate()回调。

为什么单击提交按钮后,以下// Breakpoint行上的断点不会触发?

<!DOCTYPE html>
<head>
    <script type="text/javascript" src="/library/scripts/lib/jquery-1.7.2.js"></script>
    <script type="text/javascript" src="/Scripts/jquery.validate.js"></script>
    <script type="text/javascript" src="/Scripts/jquery.validate.unobtrusive.js"></script>
</head>
<body>
    <form action="/" method="post">
    <input data-val="true" data-val-required="This is required" id="BirthDate" 
           name="BirthDate" type="text" value="" />
    <span class="field-validation-valid" data-valmsg-for="BirthDate" 
          data-valmsg-replace="true"></span>
    <p>
        <input type="submit" /></p>
    </form>
    <script type="text/javascript">
        $(document).ready(function () {
            $('form').validate({
                debug: true,
                submitHandler: function () {
                    alert("Submitted!") // Breakpoint
                },
                invalidHandler: function (form, validator) {
                    alert("Invalid!") // Breakpoint
                }
            })
        });
    </script>
</body>
</html> 

更新

实际上,validate()选项似乎都没有生效。例如,我在上面的示例中添加了debug: true,根据文档,它应该阻止提交表单,但它仍在提交表单。也没有触发任何警报。

然而,我已经确认validate()函数正在被调用,因为我可以逐步完成它——只是不能进行回调。

不幸的是,jquery.validate()选项在与不引人注目的验证结合使用时似乎不起作用。从我的文件中删除该引用可以解决这个问题,但当然也会破坏我不引人注目的验证。

因此,我最终使用了另一个解决方案来连接验证事件。