From d7160abc4777d7948a48f99df012a86a4170c53e Mon Sep 17 00:00:00 2001 From: DecDuck Date: Sat, 16 Nov 2024 16:08:02 +1100 Subject: [PATCH] feat(registration): require lowercase usernames --- pages/register.vue | 8 ++++++-- server/api/v1/auth/signup/simple.post.ts | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pages/register.vue b/pages/register.vue index 75bc264..1e02ac1 100644 --- a/pages/register.vue +++ b/pages/register.vue @@ -77,7 +77,7 @@ 'block text-xs font-medium leading-6', ]" > - Must be 5 or more characters + Must be 5 or more characters, and lowercase

mailRegex.test(email.value ?? "")); -const validUsername = computed(() => (username.value?.length ?? 0) > 5); +const validUsername = computed( + () => + (username.value?.length ?? 0) > 5 && + username.value?.toLowerCase() == username.value +); const validPassword = computed(() => (password.value?.length ?? 0) >= 14); const validConfirmPassword = computed( () => password.value == confirmPassword.value diff --git a/server/api/v1/auth/signup/simple.post.ts b/server/api/v1/auth/signup/simple.post.ts index a1f660b..96cde8c 100644 --- a/server/api/v1/auth/signup/simple.post.ts +++ b/server/api/v1/auth/signup/simple.post.ts @@ -54,6 +54,11 @@ export default defineEventHandler(async (h3) => { statusCode: 400, statusMessage: "Username is invalid. Must be more than 5 characters.", }); + if (username.toLowerCase() != username) + throw createError({ + statusCode: 400, + statusMessage: "Username must be all lowercase", + }); if (email === undefined) throw createError({