この質問は、asp.net mvc3 フレームワークに最も関連しています。「asp.net mvc3でjQueryを使用して、動的に追加された入力フィールドのアクティブな検証を確実にするにはどうすればよいですか?」として始まりました。ただし、いくつかの検索、テスト、およびコーヒーの後、私はこれに出くわしました:
function reValidate(formId) {
$("#" + formId).removeData("validator");
$("#" + formId).removeData("unobtrusiveValidation");
$.validator.unobtrusive.parse("#" + formId);
}
これはうまくいきます。しかし、フレームワークが実際に使用しているメカニズムについては、もっと興味があります。スクリプトに基づいて完全に生成されたページがあります。ビュー内の唯一のものは、ライブラリをロード<div>
するための<script>
タグ、<script>
および<div>
. 完全に動的なページをレンダリングした後、検証は完璧です。ただし、ページの読み込み時に使用されたのと同じプロセスが、ページの読み込み後に新しいコンテンツを含めるために使用された場合、検証は失敗します。もちろん、電話してreValidate()
ください。
しかし -
a) ページが読み込まれた後 (または読み込まれたとき)、フレームワークはどのように検証をインスタンス化しますか?
b) フレームワークのどの部分がそれを処理しますか? それは mvc3 部分ですか、asp.net 部分ですか、剃刀エンジンですか、それとも別の部分ですか?