web-dev-qa-db-ja.com

スペースを許可しないフィールド-正しいフィードバックを与える

モバイルアプリのログイン画面には3つのフィールドがあり、最後のフィールドはURLを作成するために使用されます。

Login screen

スペースはURLのホスト名の部分には適さないため、ユーザー入力は使用する前にサニタイズする必要があります。

私の考えでは、3つのオプションがあります。

  1. 何もせず、入力を許可します。ユーザーがアプリに与えるものを最大限に活用してください。
  2. キーボードで押したときにスペースを無視します。
  3. 編集ボックスにスペースが見つかった場合、ユーザータイプとしてエラーを表示します。

1が最も簡単に構築でき、ユーザーはそれが起こっていることさえ知りません。ユーザーは、URLの一部を入力していることに気づかず、「会社名」を入力しています。 (ユーザーの学習が問題になる可能性があり、いくつかのフィードバックを提供することは役立つかもしれませんが、一般的なユースケースは、ユーザーがこれらの値を一度入力して、二度と入力しないことです。)

2使用するとかなり奇妙に感じます。キーを押しても何も起こらず、何も赤くならず、キーを押すだけで消えます。滑らかな経験ではありません。

3はおそらくすべてのオプションの中で最悪です。これにより、ユーザーはエラーメッセージボックスを読んだ後にしか理解できない問題を修正できます。問題を修正するための仕様はエラーメッセージにあります。 (アプリがそれをするとき、私は本当にそれを嫌います。)

私が不足している他のオプション、またはより良くできる何か?

背景:このアプリは、すべて1つの会社で働いているモバイルワーカーのグループによるものです。私たちの会社はソフトウェアを彼らの「会社」に販売し、彼らのためにURLを選びます(人間がこれを行います。私たちのボリュームはまだ十分に少なく、これは実用的です)。エンドユーザー(モバイルワーカー)は、ユーザー名、パスワード、および当社が選択した会社名を受け取ります。この情報はすべて、ログイン時に一度入力されます。

これをエンドユーザーのメールアドレスに変更することがロードマップにあります。その後、ユーザーが会社名を選択する必要はありません。アプリは、ユーザーのメールアドレスを指定して、どのURLにアクセスするかをサーバーに尋ねます。これにより、エンドユーザーがアプリで行う最初の作業がよりスムーズになります。

8
Diederik

会社名はスペースを含むデータベースに保存され、別のURL列にはスペースがなくなりますか?

ユーザーが「Super Duper Acme Co.」と入力するときに入力するように、会社名のすぐ下にURLを作成することをお勧めします。アプリが表示されます:

専用URLは次のとおりです。www.superduperacmeco.com

これにより、ユーザーは注意を払い、即座にフィードバックを受け取り、後で驚いたりイライラしたりすることがなくなります。

また、ユーザーが大文字と小文字が混在するURLを作成することを望まないことも前提としています。

また、URLでは望ましくない可能性のある他の文字についても忘れないでください。 「オライリーパーツ」について考える

おそらく「提供されたURLのフォーマットを受け入れる」という必須のチェックボックスを追加します

十分なスペースがない場合は、私が配置する成功ページがあると想定します。

おめでとう!専用URLは次のとおりです:www.superduperacmeco.com

30
MonkeyZeus

この場合、MicrosoftがWindowsエクスプローラーでファイル名を入力するために行った(スペースは許可されますが、一部の特殊文字は禁止されています)と思います。

Windows Explorer showing forbidden characters hint

ユーザーが禁止文字を入力したら、入力テキストボックス(オプション2)への追加を拒否し、テキストボックスに"スペースとこれらの文字は許可されていません:$#&% "(たとえば)。

禁止された文字が既に含まれているテキストを貼り付けると、貼り付けられたテキストから文字が削除されます(残りは保持されます)。この場合、ヒントも表示されます(そのような削除が行われた場合のみ)。

通常、これがユーザーに予想される場合、オプションでスペース(他の禁止文字ではない)をダッシュ​​またはアンダースコアに変換できます。そうすることで、許可された「偽のスペース」文字を簡単に入力できるようになります。 - または _ キー。この場合、スペースを入力すると"スペースがダッシュに変換されました"(たとえば)と表示され、許可されていない他の文字を入力すると"許可され​​ない文字:$#&%"と表示されます。

制限が特定の許可された文字範囲のみに基づいている場合は、範囲外の文字が入力されたときにヒントとしてそれを示します。例:"A-Z a-z 0-9 _-のみ許可されます。"(ユーザーは通常a-zは、アルファベットの範囲を意味します)

3
ADTC

会社名に基づいてURLを提案している場合、オプション1を使用する必要があります。

この状況では、オプション2と3は非常に奇妙です。

オプション1でプロトタイプを作成し、5人のユーザーでテストします(他のテストも行います)。すべてのテストで決定する1つの偽の会社名を使用します。

1
DRM

次のような会社名をどのように扱いますか?

「#、?、&=、Punctuation&Sons Inc.」?

または、会社名をまったく持っていないがお金をあげたいユーザーは? ;)

おそらく、データベースの会社名全体(オプション#1)を受け入れます。とにかくこれを使用することをお勧めします(サポートまたはマーケティングEメールをアドレス指定しますか"Dear http://customurl.com"?)

最初にランダムなURLを割り当てることができます(Flickr、Facebook、StackExchangeなどで使用されるアプローチ)。これにより、エラーやフラストレーションの可能性が少なく、作業アカウントがより速くサインアップされます。

この同じログイン画面または後の設定で、会社名の入力を使用してカスタムURLの推測を表示し、それを編集するか受け入れるかを選択できます。その時点で、スペースや他の特定の文字を含めることはできないという明示的なステートメントを持つことができます。

これはもう少し作業ですが、彼らが有効な共同を持っていることを保証します。名前と有効なURL。これにより、プロセスのエラーが発生しやすい部分が少し遅れて配置されるため、そのような障害や煩わしさのように感じることはありません。カスタムURLが必要ない場合は、とりあえず機能するアカウントがあります。

1
mc01