初めてフォームを検証すると、正常に機能します。フォームが有効になったら、将来使用するためにフォームインスタンスを保存します。
MY_GLOBALS[form_instance] = $('#form-section').clone(true);
このフォームを再ロードし、必須フィールドを空にすると、フォームは検証されません。フォームインスタンスを保存する前に、有効なクラスも削除しました。
$("#form-section").replaceWith(MY_GLOBALS[form_instance]); // load saved instance
したがって、検証は、新しい#form_sectionインスタンスで開始した場合にのみ機能します。また、検証を強制しようとしました。しかし、フォームがリロードされると、常にtrueが返されました。
console.log('check', $('#myform').validate().form() );
ちなみに、実際のフォーム:#myformは#form-sectionの一部です。htmlは次のようになります:
<section id="form-section">
<form id="myform" action="/" method="get" novalidate="novalidate">
novalidateはプラグインによって追加されました。保存する前に削除しても効果はありません。