8

私は MVC3 アプリを持っています。目立たない検証は FireFox では正常に機能しますが、IE では機能しません。

理由はありますか?

アップデート

MVC3 に付属する jQuery 控えめな検証ライブラリは、私が使用している jQuery 1.7.1 (ブートストラップ テンプレートに付属) と完全に互換性がないようです。Firefox では動作しますが、IE 8 (私が持っているもの) では動作しません。

jQuery を動作し始めるバージョンにアップグレードし始めました (ただし、他のものが壊れていないかどうかはわかりません!)。

1.8.1 になったとき、やっと動きました。

1.9.1になったとき、jQueryのアップグレードを続けました-いまいましいことが再び機能しなくなりました:)

MVC3 jQuery の控えめな検証で機能した最新の jQuery バージョンは 1.8.3 です。

これは、MVC3 jQuery の控えめな ajax ライブラリで動作する最新の jQuery バージョンでもあるようです。

PS MVC3 控えめな検証または ajax を使用している人々は、v 1.8.3 以降の jQuery を使用しないでください。

4

3 に答える 3

7

最近、IE7とIE8のみ(MVC4を使用)で同様の問題が発生しました。

検証を再び機能させるために、次のバージョンをインストールしました。

jQuery: 1.8.3

jQuery 検証: 1.9.0.1

Microsoft 控えめな検証: 2.0.30116.0 (2013 年 5 月 14 日現在の最新)

jQuery Validation v1.10への移行が問題の始まりであることに気付きました。この投稿の時点で、JQuery Validationは v1.11.1 であり、IE7/8 では機能しません。これは、 jQuery 1.8.3 と 1.9.1 の両方でも試行されましたが、どちらもjQuery Validationの最新バージョンでは機能しませんでした。

注:私にとっての特定の問題は、「データが必要」ではない場合でも、すべての入力とチェックボックスの検証が開始され、エラーにフラグが立てられることでした。

于 2013-05-14T19:14:38.400 に答える
2

これを書いている時点 ( 2014 年 9 月) で、次の組み合わせをテストまし

  • jQuery 1.11.1 (最新の 1.x バージョン)
  • jQuery.検証 1.10.0
  • Microsoft.jQuery.Unobtrusive.Ajax 3.2.2 (利用可能な最後のバージョン)
  • Microsoft.jQuery.Unobtrusive.Validation 3.2.2 (利用可能な最後のバージョン)

IE 11 (エッジ) では、(F12 でデバッガーを開いた場合) 次のエラーが表示されることがあります。

SCRIPT5007: 未定義または null 参照のプロパティ 'call' を取得できません ファイル: jquery.validate.js、行: 1234、列: 5

しかし、デバッガを閉じて通常のユーザーとしてフォームを使用すると、正常に動作する場合.

IE10およびIE9 (これらをエミュレートする IE11)でもテストされています。今のところ問題はありません

依存関係エラー (jquery 1.4 など) が発生したために nuget パッケージを更新 (ダウングレード) できない場合は、忘れずに -IgnoreDependencies フラグを使用してください。次に例を示します。

Update-Package jQuery.Validation -Version 1.10.0 -IgnoreDependencies

楽しんでください (ええと、IE8 をサポートすることは本当に楽しいことではありませんが、ここにいるということは、このくだらないブラウザーを取り除くことができない顧客と協力していることを意味します...)。乾杯 ;)

于 2014-09-24T16:38:39.030 に答える
2

説明されているものと非常によく似た問題がありました。IE9 (ドキュメント モード: IE9 標準) を使用すると、スクリプト エラーが表示されましたが、他のブラウザー (および下位の IE ドキュメント標準) では機能していました。

jquery.validate.js (1.11.0)を使用して問題を解決しました

これで、jQuery-1.9.1.jsMVC3.0 jquery.validate.unobtrusiveを使用できます

于 2013-02-28T11:38:11.873 に答える