4

jQueryのajaxSubmit()関数を介して送信するフォームがあります。このフォームにはファイル コントロールが含まれており、フォームを送信する前に、選択したファイルの名前が変更されたり、削除されたり、その他の方法でアクセスできなくなったりすると、ブラウザーに基づいてフォームが送信される場合と送信されない場合があるという問題が発生する可能性があります。送信の失敗は予期される動作ですが、フォームの送信に失敗したことやその理由をユーザーに示すものはありません。これはショーストッパーと見なされています。さらに悪いことに、IE では、フォームはファイル データなしで送信されます。サーバー側でこれをキャッチできますが、フォームがまったく送信されなかった方が理想的です。

私は、JavaScript がファイルシステムについて何かを知ることができるという点で制限されていることを認識しており、同様に、クロスブラウザーの互換性に関係する重要でない問題がいくつかあることも認識しています。フォームの送信が失敗した場合、または jQuery がそれを飲み込んでいる場合、Firefox はいかなる種類の例外もスローしないようです。IEは無意識のうちによちよち歩きます。フォームが送信されなかった、または無効なファイルで送信されたという事実をキャプチャする方法があるかどうかを確認したいと思います。また、提出前にファイルフィールドに問題がある場合はキャプチャしたいと思います。

何か案は?

4

1 に答える 1

0

ファイル オブジェクトの検証には、いつでも Struts2検証フレームワークを使用できます。

フォームを送信するときにオブジェクトをアクションに設定するfileUploadインターセプターをアクションに適用します。File

オブジェクトを取得し、そうでないnull場合は、何らかの検証に進むことができます。たとえばfile.exists()

于 2013-04-15T13:59:06.727 に答える