多くの jQuery を使用している大規模なアプリケーションがあり、今日のテストで正しく検証されない 1 つのページに出くわしました。ページのコピーを保存し、問題が発生している単一のフィールドを検証するためのコードを除いて、他のすべての jQuery を削除しました。
次のコードでは、完全に機能します。
<script type="text/javascript">
$(document).ready(function () {
$('#btnSave').click(function (e) { validateRegisterForm(e); });
});
function validateRegisterForm(e) {
$('#EMasterForm').validate();
alert('validation result is : '+ $('#EmasterForm').valid());
$('#txtMaxCommute').rules
('add', {
required: true,
minlength: 2,
}); // end of rules(add) function call
if ($('#EmasterForm').valid() == false) {
e.preventDefault();
}
}
</script>
しかし、アラートをコメントアウトすると、機能しません。また、アラートには常に「true」の値が表示されます。
これは私にはばかげた質問のように思えます。しかし、時計仕掛けのように検証する他の 50 ページがあります。そして、私はこれに不足しています。あらゆる種類の操作にjqueryをどこでも使用しています。しかし、この1ページは機能しません。
アラートが機能する理由を誰かが明らかにすることはできますか? これに答える人に懲らしめられてうれしいです:)
前もって感謝します!