14

Opera 9.5xを使用している場合は、クライアント側のJQuery.ValidateコードがStackOverflowで無効になっていることに気付くかもしれません。

function initValidation() {
    if (navigator.userAgent.indexOf("Opera") != -1) return;
    $("#post-text").rules("add", { required: true, minlength: 5 });
}

これは、Operaで例外が発生するためです。もちろん、私たちが試した他のすべてのブラウザで動作します。私はOperaを真剣に、真剣に嫌いになり始めています。

適切なクライアント側の検証がないと、一部のリクエストが失敗するため、これはちょっと残念です。データが不完全な場合に完全なサーバー側メッセージングを入力する時間がなかったため、フォームのすべてのフィールドに入力し忘れた場合、OperaでYSODが他のブラウザよりもはるかに多く表示される可能性があります。

Opera-itesは、これらの行のコメントを解除して(このようなコアの質問と回答のページにあります。ソースを表示して検索するだけです"Opera")、試してみませんか?

4

3 に答える 3

12

問題は

{ debug : true }

JQuery.Validate イニシャライザのオプション。これを削除すると、Opera で問題なく動作します。これを理解するのを手伝ってくれた Jörn Zaefferer に感謝します!

ああ、50 ドルは JQuery プロジェクトに寄付されます。:)

于 2008-08-12T21:41:17.363 に答える
0

私は .NET を使用していませんが、YSOD はエラーがキャッチされていないことを意味していると思います。その場合、クライアント側の検証だけに頼るのは少し危険ですか? そうでない場合、捕捉されたエラーは、Opera クラウドにとって有用なものに変換できます - たとえそれが検証で不平を言う白く塗られた死のスクリーンであっても...

于 2008-08-12T21:46:43.250 に答える
-1

このバグを再現できないようです。詳細を教えていただけますか?

Opera のコピーが Firefox になりすましたので、検証を実行する必要があります。

>>> $.browser.opera 
false

プロファイルの編集ページに移動して不正な日付を入力すると、赤いテキストが表示され、「有効な日付を入力してください」と表示されます。それが jQuery.Validate の動作ですよね?特定のフォーム/フィールドでのみ失敗しますか?

これは WinXP の Opera 9.51 です。

編集: Opera での編集のテスト。

編集:「if ($.browser.opera) return;」をコメントアウトしても機能します。ローカルに保存したプロファイル編集ページのコピーの行。私は本当にこのバグを再現できません。あなたの環境はどうですか?(Vista? Opera プラグイン?)

于 2008-08-12T12:00:24.010 に答える