2009-06-27 4 views
1

私の会社では、入力が無効であるときにユーザーに通知するためのいくつかのアプローチを見てきました(ユーザーが何らかの "送信"ボタンをクリックしたときに一般的に行われます)。無効な入力をユーザーに通知する一般的な方法は何ですか?

  • を無効な入力が含まれている制御する通信にErrorProviderクラスを使用する:ここで

    は、私が見た中で最も一般的なアプローチです。 (検証がワンショットで行うことができ、ユーザが簡単に無効な入力が含まれているコントロールを識別することができますので、これは私の現在の好みです。

  • すべてのコントロールで入力を検証し、メッセージのリストをコンパイルしますユーザに表示する。検証ルーチンが完了したら、すべての「無効な入力」メッセージをすぐに(MessageBox経由で)ユーザーに表示します。

  • 各コントロールの入力を順番に検証し、無効なデータが見つかったら(MessageBox経由で)ユーザーに通知します。 (Control_AとControl_B両方が無効なデータが含まれている場合、ユーザーは両方の検証メッセージを見るために2倍のデータを提出しようとする必要があるため。、私はこのアプローチのファンではない)

何効果的/効率的にユーザーに無効な入力を通知する最善の方法だと思いますか?

答えて

2

IDataErrorを使用すると、個々のコントロールにエラーを表示できるだけでなく、ビュー全体でエラーメッセージを表示できるため、2つのアプローチを組み合わせることができます。

複数の入力値の組み合わせに依存する検証ロジックがある場合があります。そのため、各コントロールへのバインド検証のみが禁止されます。一方、これは理にかなっている多くの場合、各コントロールにエラーメッセージを提供できるようにする必要があります。 IDataErrorを使用すると、両方を行うことができます。最も一般的なUIの実装では、無効な各コントロールの横にビジュアルキュー(点滅アイコンなど)が表示されます。

ユーザが何か無効な操作をするたびにモーダルダイアログ(メッセージボックス)をポップアップすると、ユーザを悩ませる非常に効果的な方法です。コンテキストを失い、「OK」ボタンをクリックしてダイアログを移動する必要があります離れて。

1

ユーザーが[OK]を押すと、すべてのコントロールがチェックされます。

無効な各値に特別な色を付けて、すべてのエラーをメッセージボックスに表示します。

1

テクノロジが許す限り、ロジックの流れや使い勝手が損なわれない場合は、可能な限り早急にエラーをユーザーに通知することが常にベストです。 (エラープロバイダー、Ajax、何でも)

ユーザー名を取得したかどうかを調べるためにユーザーがフォームを複数回送信する必要がある場合は、常にイライラします。

私は使いやすさに関する調査をこれまで行ってきました。ほとんどのユーザーは、登録の反対側にあるものが本当に必要でない限り、ページを嫌にしています。

関連する問題