私は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()関数が呼び出されていることを確認しました。これは、コールバックではなく、それをステップスルーできるためです。