1

我正在使用 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() 函数被调用了,因为我可以逐步完成它——只是回调函数不行。

4

1 回答 1

1

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

所以我最终使用了另一种解决方案来挂钩验证事件。

于 2012-07-18T14:18:40.867 回答