From 2feb97ddfe44e7c253dfefd9b0bb2dfae1f74ea7 Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 20 Sep 2025 17:28:28 +0200 Subject: [PATCH] Added error messages --- src/routes/login/register/+page.server.ts | 23 ++++++++++++++++++++++- src/routes/login/register/+page.svelte | 16 ++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/routes/login/register/+page.server.ts b/src/routes/login/register/+page.server.ts index 54a4ab6..044500f 100644 --- a/src/routes/login/register/+page.server.ts +++ b/src/routes/login/register/+page.server.ts @@ -1,5 +1,8 @@ +import { RegisterResponseCause } from "$lib/errors"; import type { Actions } from "./$types"; +import { fail } from "@sveltejs/kit" + export const actions = { register: async ({ request, fetch }) => { @@ -10,7 +13,25 @@ export const actions = { body: await request.formData() }) - console.log(result) + const result_body = await result.json() + + if (!result.ok) { + if (!result_body.cause) { + return fail(500, { message: "Interner Fehler, versuche es erneut." }) + } + + switch (result_body.cause) { + case RegisterResponseCause.MalformedRequest: return fail(400, { message: "Bitte versuche es erneut." }) + case RegisterResponseCause.EmailLength: return fail(400, { message: "Bitte gib eine Email ein." }) + case RegisterResponseCause.EmailFormat: return fail(400, { message: "Das Format der Email ist nicht gültig." }) + case RegisterResponseCause.EmailDuplicate: return fail(409, { message: "Email wird bereits verwendet." }) + case RegisterResponseCause.DisplayNameLength: return fail(400, { message: "Bitt gib einen Display Namen ein" }) + case RegisterResponseCause.PasswordLength: return fail(400, { message: "Bitte gib ein Passwort ein." }) + default: + return fail(500, { message: "Ein interner Fehler ist aufgetreten. Bitte versuche es erneut."}) + } + } + return { message: "Erfolg" } } diff --git a/src/routes/login/register/+page.svelte b/src/routes/login/register/+page.svelte index 82480f6..bb4befe 100644 --- a/src/routes/login/register/+page.svelte +++ b/src/routes/login/register/+page.svelte @@ -1,4 +1,8 @@ @@ -8,6 +12,7 @@

Login

+

{form?.message}

@@ -25,6 +30,8 @@ width: 100%; height: 100%; + padding-top: 100px; + flex-direction: column; justify-content: center; align-items: center; @@ -42,6 +49,11 @@ text-align: center; grid-column: 1 / span 2; } + + .grid > p { + width: 100%; + grid-column: 1 / span 2; + } .grid > button { width: 50%; @@ -50,4 +62,8 @@ grid-column: 2; } + .error_msg { + color: red; + } +