2 つの異なるコントローラーに属する 2 つの異なるビューがあります。最初のコントローラーのビューは控えめな検証で正常に動作します。2番目のビューはそうではありません。is のため、検証プラグインが実行されていないよう$.validator.unobtrusive
ですundefined
。
共有 _layout ファイルには、次のスクリプト タグがあります。
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.19.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
では、2 番目のビューが目立たない検証で機能しないのはなぜですか?
アップデート
どちらの場合も、Ajax 呼び出しを介してフォームをロードしています。検証が壊れているメイン ページが、ajax をロードしていないフォームの控えめな検証をサポートできることを確認しました。
Update2
やっと動くようになりましたが、まだ恒久的な修正ではありません。問題の原因は、同じページにある編集可能なTelerik MVC グリッドです。$.validator.unobtrusive
私のajaxロードでの使用を何らかの形で削除/防止しています。