1

目立たない検証が機能しない理由を追跡する方法はありますか?

カスタムバリデータをすべて無効にし、MVC バリデータのみを使用していますが、送信をクリックすると、検証のためにサーバーにポストバックされます。

それは私を夢中にさせています。私が考えることができる唯一のことは、 以外の検証属性を持たない隠し入力があるということです[HiddenInput(DisplayValue = false)]

どのフィールドがフォームの送信を引き起こしているかを判断するためにブレークポイントを設定できる特定の JavaScript 関数はありますか?

編集:

IE8 だけがサーバー側の検証を引き起こしていることに気付きました。IE9、FF、および Chrome はすべて問題ありません。

編集2:

わかりました、それはキャッシュの問題か何かだったに違いありません。ある時点で再び機能し始め、すべてを復元した後でも機能しています。

学んだ教訓。間抜けな問題が発生した場合は、常にキャッシュをクリアしてください。

4

1 に答える 1

3

次のスクリプトを参照していることと、パスが正しいことを確認してください。

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>

そして、web.config でクライアント側の検証を有効にしていること:

<add key="ClientValidationEnabled" value="true" />

もう 1 つの重要な側面は、フォームが AJAX 呼び出しの結果として DOM に挿入された場合、目立たない検証がその要素に関連付けられず、機能しないことです。DOM に挿入した後、AJAX 成功コールバックのメソッドを使用して、手動でアタッチする必要があります。$.validator.unobtrusive.parse

また、FireBug のコンソール タブは、コードの潜在的な JavaScript エラーを表示するのに役立つ場合があります。

于 2011-09-01T19:55:42.403 に答える