Making usernames case sensitive and unique

In my signup I am trying to make it so usernames are unique and can’t be used twice. I did that by making my workflow button signup run "When Button Sign Up is clicked and when search for Users:count is 0. I thought it was working, because I can not make two of the same usernames, but it appears that I can repeat that username if a letter is capitalized differently. So I need to have a way to make the usernames case sensitive.

If it helps at all, I did try making username’s value to lowercase during sign up, but it didn’t help. For example - Username created “john” is accepted, and then username “John” is accepted as “john” so there ends up with two “john” usernames.

If there is a solution out there, I would be very happy.

1 Like

When you do your check, make both “sides” of the check Uppercase (or lowercase !).

So do a search for user’s username:uppercase where = input’s value (uppercase).

Thank you very much, I had to include both upper case and lower case but now it works :smile:

That doesn’t make sense that you had to include both uppercase and lowercase, the whole point of using one of them is that it forces both the target and test case to the same case i.e. upper OR lower, doing both checks doesn’t make sense.

e.g. JoHn:lowercase = john
JoHn:uppercase = JOHN

:confused:

Yeah I was an idiot just happy that I wasn’t able to create an account with different capitols not realizing I was unable to not create any accounts. It’s like I created a rule that only let me have 1 account at a time. I’m now somehow farther back than I was. If you could help me out all I’m really trying to do is have a username entry in sign up and not allow people to sign up if that username is taken. I’ll handle the visual rejection after, I just need the correct workflow definitions.

So to be absolutely clear on the specification…is it 1 or 2

  1. You want usernames that are unique regardless of case i.e. John, JOHN, john, JoHn are all considered the same username
    or
  2. You want usernames that are case sensitive, so John is not the same as JOHN or john or JoHn
  1. If an account is registered with the username John, no one else should be able to register as john or joHn etc.

Ok, i have knocked up a modified Signup form demo which appears to meet your needs!

See the demo here: https://dave-auld-demo-stuff.bubbleapps.io/version-test/usernamesignup

You can then see the modified SignupLoginWithUsername reusable element in the editor

Note: I have already done this quickly, so not implemented a Loginwith Username only focused on the Signup and Username check. :slight_smile:

Note2: The username actually gets stored as lowercase. If you want to display this as how the user enters it, then simply add another field for Display purposes and store this raw input username unchanged.

3 Likes

You cannot apply filters to the left side of the test otherwise that would make it too easy!

I can’t thank you enough, this has had me down trying to do other pieces I’m so happy to be able to get this done. This is teaching me a lot too, wish I could express my appreciation more :slight_smile:

Just did :slight_smile:

Convert to input username to uppercase using a hidden input.

https://buildingonbubble.com/block/search-ignoring-case-1473495213720x341425763853008900

Although had to rebuilt it after someone had trashed the example page :frowning:

1 Like

I used @NigelG solution,
it works fine!

here a couple of screenshots if somebody needs it:

this is the search part

this is the filter part

thank you

1 Like

TThank you Thank you Thank you