web-dev-qa-db-ja.com

複数の検証メッセージを表示する

たとえば、私のサインアップフォームで、パスワードフィールドに次の検証(に限定されない)があるとします。

  • パスワードの長さは6〜12文字にする必要があります。
  • パスワードには少なくとも1つの数字を含める必要があります。
  • パスワードには少なくとも1つの記号を含める必要があります。

アプリケーションでは、フォーカスがパスワードフィールドにある場合は常に、ツールチップがユーザーにこれらの条件を通知します。

これらの条件のいずれかが満たされていない場合は、メッセージの何が間違っていたかを表示することは理にかなっています。

例:パスワードに数字と記号が含まれているが、6〜12文字の範囲ではない場合、次のメッセージが表示されます。

パスワードは6〜12文字にする必要があります。

しかし、3つまたは2つの条件がすべて満たされていない場合はどうでしょうか。 3つのメッセージすべてを表示するべきですか、それとも"Invalid password"と言っても問題ありません。フォーカスがパスワードフィールドに設定されている場合、ツールチップに条件が表示されるためです。

ルールを読むためにパスワードフィールドをもう一度タップしたことを思い出しますか?

これはモバイルアプリです。したがって、スペースが問題になります。

3
nuwa

フォーカスが必要なツールチップの下にパスワード要件を隠すことはお勧めしません。

複数のパスワード要件に対してこれまでに見た中で最も優れたソリューションは、すべてのパスワード要件をページの前にリストし、すべてのパスワード要件を満たす必要があることを示すメッセージを示しました。ユーザーがパスワードを入力すると、要件を満たしたときに、その要件に緑色のチェックマークが付けられました。このようにして、ユーザーは入力時にリアルタイムの視覚的フィードバックを得ています。それでも1つ以上の要件を満たさずに送信することにした場合、すべてのパスワード要件を満たす必要があることを通知するエラーメッセージが表示されます。

ユーザーが入力するときにパスワード強度の評価(貧弱、良い、良い、強いなど)が与えられる別のシステムを見たことがありますが、明らかにこのシステムはパスワード強度のルールを適用していません。か否か。

それはすべて、パスワードに関してビジネスニーズがどれほど厳しいかにかかっていると思います。

NNGroupには、これらの手法の両方を説明する良い例があります。 https://www.nngroup.com/articles/password-creation/

1
SteveD

ユーザーがこのメッセージに遭遇した場合、何が間違っているのかを知らない可能性が非常に高いです。したがって、「無効なパスワード」を取得するだけで、ユーザーエクスペリエンスが低下する可能性があります。

プログラミングの観点からは少しエレガントではありませんが、おそらく7つの異なるエラーケースのそれぞれに対して1つのカスタムエラーメッセージを作成する必要があります。これにより、各メッセージを簡潔にすることができます。すでに3つのエラーメッセージがあるため、さらに4つ追加します。

また、@ Splatzが提案する、パスワードが有効な場合に緑色のチェックマークを追加することは、非常にユーザーフレンドリーな方法です。

1
MichaelK