無効な入力をユーザーに通知する一般的な方法は何ですか?
-
20-08-2019 - |
質問
私の会社では、ユーザーの入力が無効である場合にユーザーに通知するためのいくつかのアプローチを見てきました (通常、検証はユーザーが何らかのフォームの「送信」ボタンをクリックしたときに行われます)。
私がこれまでに見た中で最も一般的なアプローチは次のとおりです。
の使用 エラープロバイダー どのコントロールに無効な入力が含まれているかを通信するクラス。(検証は 1 回で実行でき、ユーザーはどのコントロールに無効な入力が含まれているかを簡単に識別できるため、これが私の現在の好みです。)
すべてのコントロールの入力を検証し、ユーザーに表示するメッセージのリストをコンパイルします。検証ルーチンが完了したら、すべての「無効な入力」メッセージを (メッセージ ボックス経由で) ユーザーに一度に表示します。
各コントロールの入力を順番に検証し、無効なデータが見つかったら (メッセージ ボックス経由で) ユーザーに通知します。(Control_A と Control_B の両方に無効なデータが含まれている場合、ユーザーは両方の検証メッセージを表示するためにデータの送信を 2 回試行する必要があるため、私はこのアプローチのファンではありません。)
無効な入力をユーザーに効果的/効率的に通知する最善の方法は何だと思いますか?
解決
IDataError に使用して、組み合わせることができます2つの両方を使用すると、個々のコントロールのためのエラーを提供することを可能にする、それ以来最初のアプローチ、でなく、ビュー全体の集計エラーメッセージます。
いくつかのケースでは、あなたはとてもだけあまりにも法外になり、各コントロールに検証を結合、いくつかの異なる入力値ののの組み合わせに依存検証ロジックを有することができます。一方、あなたはまだ、これは理にかなって、多くの場合、各コントロールのエラーメッセージを提供することができるようにしたいです。 IDataErrorはあなたが両方を行うことができます。最も一般的なUIの実装では、それぞれの無効なコントロールの隣に(例えば点滅アイコンなど)の視覚的キューを有することである。
彼らは文脈を失い、ダイアログが消える作るために「OK」ボタンをクリックする時間を費やす必要が -ユーザーが無効な何かをするたびに迷惑なユーザーの非常に効果的な方法であるモーダルダイアログ(メッセージボックス)をポップアップます。
他のヒント
私たちは、すべてのコントロールをチェックしたときに、ユーザー[OK]を押します。
私たちは、特別な色で各無効な値をマークし、メッセージボックスにすべてのエラーを一覧表示します。
技術が可能にした場合、それは論理フローを傷つけることはありませんか、使い勝手がどのような方法であれば、それはできるだけ早くエラーに関するユーザーに通知するために、常に最高です。 (エラープロバイダ、アヤックス、何でも)
ユーザーがユーザー名が取られている場合、数回だけ見つけるためにフォームを送信しなければならないとき、常にイライラさせられる!
私はこの上のユーザビリティ調査を行っている:彼らは本当に登録のもう一方の端にあるものは何でもしない限りほとんどのユーザーは、嫌悪感にページを残す
。