今は何もデザインしていませんが、先ほど頭に浮かんだ思いです。次のような言い回し検証エラーの長所/短所は何だと思いますか。
「これは有効な電話番号ではないようです」
対
「電話番号が無効です」
最初のメッセージは、エラーではなく警告として提供する必要があります。場合によっては、おそらく間違っていることを受け入れたいかもしれませんが、おそらくそうではありません。たとえば、URLのカスタムプロトコルプレフィックス(chrome://など)、内部の電話番号(10桁ではない)、仕様の full depths を調査した電子メールアドレス(含む)引用符付きの文字列など)。
これらのすべてのケースで、メッセージ1で警告するのは公平だと思いますが、「私はそれがわかっている見た目が間違っていると言っても、私を信頼してください」これについて。」
入力を拒否する場合は、理由を具体的に示して、人々が修正できるようにすることをお勧めします。
どちらが良いですか?それは、検証ルールの厳密さによって異なります。一般的なパターンに適合しないEdgeケースの電話番号があり、ユーザーが実際に「電話番号であるが、電話番号のようではない」というフォームを正常に送信できる場合は、それを考慮する必要があります。提供するメッセージに関する考慮事項。
あなたが実際に入力に対する制限的な要件を持っていないと仮定すると、2つのメッセージ例の最初のものはより友好的です。
実用的なヘルプを提供する検証エラーメッセージがさらに良いでしょう。つまり、エラーメッセージは、何かが無効であることを単に指摘するのではなく、検証への指示を提供します。
Jakob Nielsenの sability heuristics の1つがここに適用されます。
ユーザーがエラーを認識、診断、および回復できるように支援しますエラーメッセージは平易な言語(コードなし)で表現し、問題を正確に示し、建設的に提案する必要があります解決。
例えば: "Phone number: should be 10 digits and include the area code. Punctuation is allowed."
(もちろん、ロケールや要件に応じてメッセージを変更します)。
また、スクリーンリーダーなどをより適切にサポートするために、エラーメッセージの先頭にエラーのあるフィールドの名前を配置する必要があります。
私はあなたがあなたのアプリケーションのペルソナになりたいものを見て、そしてエラーがどのように表示されるべきかを決定しなければならないと思います。
多くのUXチームはユーザーのペルソナを作成しますが、実際にアプリケーションのペルソナを作成するのに時間をかけないでください。フレンドリーで非公式なものですか、それとも厳密で専門的なものですか。これらについて考えることは、適切なコピーが何であるかを決定するのに役立ちます。
どちらでもありません-Ericsが言ったように、何が悪いのかをユーザーに伝えます。検証対象の英語バージョンで問題を特定すると、問題が何であるかが明確になり、ユーザーの入力に不快感を与えることはありません。
「電話番号が無効です」が正しくない可能性があります-電話番号は有効である可能性がありますが、この環境では受け入れられません。
「これは有効な電話番号のようには見えません」-これも主観的なものです。少なくともそれが正しいかもしれないことを意味するので、私は最初の方を好みますが、Roger Atrillが指摘したように、ユーザーがチェックする必要があるという意味ですが、システムはそれを受け入れます。
「電話番号は、10〜12桁で構成する必要があり、スペースを含まず、国際ダイヤルコードを使用しない」などのように、ユーザーがこれを入力するために必要な形式を明確に示します。
後者-「Xは無効です」-データが間違っていることを100%確信している場合にのみ使用してください。これは通常、「ユーザー名」が4〜20文字の英数字である必要がある場合など、「内部」の制限に適用されます。ユーザーが「my!username」を入力したときに、それが無効であると自信を持って言うことができます(your制限に対して、代替文字を含むユーザー名を許可する必要があるかどうかは別の議論です)。
名前、住所、電話番号などの最も一般的なデータには、考慮されなかったalways Edgeケースがあります。ここでは任意の形式を受け入れる必要がありますが、ユーザーがタイプミスした場合に警告を表示すると便利です。