0

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ロードでの使用を何らかの形で削除/防止しています。

4

1 に答える 1

1

これで変わるかどうかわかりませんが、各行を以下のように変更していただけないでしょうか?

<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>

これは非常にマイナーな変更ですが、"@Url.Contents() の s は s に変更されました'。引用符は、ある時点で交差する可能性があります。

于 2012-05-07T23:21:46.137 に答える