Customize registration form / hide or normalize username field

Hi. I am on the standard edition. Ideally I would completely hide the username field during registration, and have it generate a name automatically. So for example if I enter my name as “Jesse”, then it automatically fills “jesse”, or “jesse1” if jesse is already taken.

As far as I can tell that’s definitely not possible. What are my best alternatives? Can I put a note next to this field that gives people guidance to use their real name here?

A big emphasis of our forum is using real names - and people tend to pick usernames that make this confusing / distracting (e.g. birth year, sports team, movie characters…) - I have seen this pretty consistently…

Looking for any advice

If your edition provides access to these settings, here’s what you could do:

Activate these Site Settings:

  • “Use name for username suggestions”
  • “Show signup form username instructions”

Then edit the contents of the Site Text js.user.username.instructions to be something like “Please base your username on your real name.”

Mine currently looks like this:

…resulting in:

You might also want to be aware of the Site Setting “Prioritize username in UX” which is enabled by default:

image

And it is possible to completely hide the username field with some custom CSS (which would make the Site Text label irrelevant). But it feels like that could be confusing to the user. I’d test this before committing to it:

.input-group.create-account__username {
  display: none;
}

ref: Making custom CSS changes on your site

The site text edits are going to help a lot - thank you.

I already have prioritize username = off

If I hid the input field with CSS - wouldn’t the form validation still require a value?

The value should still be passed. The thing with display:none is that it makes an item invisible, but doesn’t actually remove it from the page code. So it’s not a secure way to hide any critical secrets, because a savvy user could still view source and get at it. But it’s a handy way to do stuff like this.

I follow - I just mean, even though the element still exists (is merely hidden) - it will have a blank value right?