こんにちは。私はスタンダードエディションを利用しています。理想的には、登録時にユーザー名フィールドを完全に非表示にし、自動的に名前を生成させたいと考えています。例えば、私が「Jesse」と名前を入力すると、自動的に「jesse」、または「jesse」が既に使用されている場合は「jesse1」が自動入力されるような仕組みです。
私の理解では、それは明らかに不可能なようです。では、どのような代替案が最善でしょうか?このフィールドの隣に、実名を使用するよう促す注意書きを配置することは可能でしょうか?
当フォーラムの大きな重点は「実名の使用」にあります。しかし、人々はしばしば混乱や気が散る原因となるユーザー名を選んでしまいます(例:生年、スポーツチーム、映画のキャラクターなど)。これは一貫して見られる現象です。
ご助言をいただければ幸いです。
ToddZ
2
これらの設定にアクセスできるエディションの場合、以下のような対応が可能です。
以下のサイト設定を有効にします:
- 「ユーザー名候補に名前を使用する」
- 「サインアップフォームのユーザー名説明を表示する」
その後、サイトテキスト js.user.username.instructions の内容を、例えば「ユーザー名は実名に基づいて設定してください。」のような文言に変更してください。
私の現在の設定は以下の通りです:
…その結果、以下のように表示されます:
また、デフォルトで有効になっているサイト設定「UX でユーザー名を優先する」にも注意してください:

さらに、カスタム CSS を使用してユーザー名フィールドを完全に非表示にすることも可能です(この場合、サイトテキストのラベルは無効になります)。ただし、ユーザーにとって混乱を招く可能性があるため、本格的に導入する前にテストすることをお勧めします:
.input-group.create-account__username {
display: none;
}
参照:サイトでのカスタム CSS 変更の作成
サイトのテキスト編集は非常に役立つでしょうありがとうございます。
すでに「優先ユーザー名」をオフに設定しています。
CSSで入力フィールドを非表示にしても、フォームのバリデーションは依然として値を必要とするのでしょうか?
ToddZ
4
値は引き続き渡される必要があります。display:none の特徴は、要素を目に見えなくしますが、ページコードから実際に削除するわけではないことです。そのため、重要な秘密を隠すための安全な方法ではありません。なぜなら、知識のあるユーザーはソースコードを表示してそれらにアクセスできる可能性があるからです。しかし、このような用途には便利な方法です。
追従します。つまり、要素は存在している(単に非表示になっているだけ)としても、値は空になるということですね?
ToddZ
6
「ユーザー名に名前を使用する」という設定の仕組みは、名前欄に入力されると、ユーザー名欄に(編集可能な)提案されたユーザー名が自動的に表示されるというものです。したがって、理論的には、その欄が非表示の場合でも、この処理は裏側で行われるため、私たちの工夫は機能するはずです。
しかし:私はこの設定を自分では使用しておらず、今すぐ(表示された状態で)テストしたところ、ユーザー名欄に提案が表示されませんでした。私が何かを見落としているのか、それともバグを発見したのか、現時点では確信が持てません。