私はアラートボックスの大ファンではありません。主な理由は、アラートボックスがアプリケーションの使いやすさを損なう傾向があるためです。アラン・クーパーがアバウト・フェイスで言ったように、それはユーザーを頭に乗せてバカと呼ぶのと同じです。
一方、不良データの通知は、アプリの重要なニーズです。何よりもまず、人間的に可能な限り、不正なデータが入力されないようにする必要があります。これを支援する、ほとんどのプラットフォーム(ASP.NET、.NET WinForms、WPF、Java Swing、JSPなど)用のさまざまなサードパーティの制御ツールキットがあります。(これらの部分では人気がありませんが、実際にはInfragistics NetAdvantageに部分的に成長しました。)
プラットフォームの選択に応じて、多くのUI通知の可能性があります。いくつか言及されています:アプリのステータスバーの使用、フィールド自体の問題の表示など。
私は.NETの人なので、明らかにここでの入力は環境によってフレーバーが付けられます。
私は、Web上で検証コントロールの大ファンです。UIを煩わしくすることなく、多くの通知を提供します。Text
の単純なプロパティ*
、詳細なErrorMessage
プロパティ、および適切に配置された視覚的に明白なプロパティを組み合わせることValidationSummary
で、ユーザーの悪夢をほとんど伴わずにすべての検証を取得できます。これらのコントロールは、.NETにない場合は、入力されたデータに対してさまざまな検証を実行しText
、コントロールがページ上のどこにあるか(通常は検証されるコントロールの横)にプロパティを表示します。ErrorMessage
プロパティは、通常はページの上部にある1つにValidationSummary
なります。
WinForms環境では、インボックスErrorProvider
コントロールとInfragisticsのOutlookスタイルのポップアップボックスを組み合わせて使用することにしました。最近のWinFormsアプリでは、2種類のポップアップを使用しています。1つは半透明で、右下隅に表示されます。緑色のチェックマークアイコンがあり、成功メッセージをユーザーに通知するために存在します。(私のユーザーはコンピューターを信頼していません。確認が表示されない場合は、コンピューターがデータを食べたと考えています。長い話です。)これらのボックスは7秒で消えます。または、ユーザーが手動で閉じることもできます。
2番目の種類のポップアップには、半透明性がなく、赤いXアイコンがあり、右上に表示されます。ここに検証エラーを表示します。さらに、ErrorProvider
コントロールは検証が失敗した各フィールドの横にアイコンを表示し、特定のコントロールの上にマウスを置くと、その特定のエラーメッセージが表示されます。(これらの特定のメッセージもポップアップに表示されます。)エラーポップアップは15秒後に消えます。
そのアプリで使用しているモーダルアラートボックスは、クラッシュしたとき(実際には未処理の例外。現在はほとんど不可能です)と、ユーザーがダーティウィンドウを閉じたいときだけです。
これらは、アラートボックスを回避するために私が使用したテクニックの一部です。ユーザーは確認メッセージを無視することができ(生活を楽にする)、検証エラーにモーダルに悩まされることはありません。データが修正されるまでデータを保存することはできませんが、頭を悩ませることはありません。そしてもちろん、可能な限り、無効な入力を許可しない適切にマスクされたコントロールを使用して、検証エラーを防ぎます。