diff --git a/web/pw-server/src/routes/register.svelte b/web/pw-server/src/routes/register.svelte index 51cc106..a303025 100644 --- a/web/pw-server/src/routes/register.svelte +++ b/web/pw-server/src/routes/register.svelte @@ -2,7 +2,9 @@ let username: string | undefined; let password: string | undefined; - const onSubmit = () => { + let registrationErrors: string[] = []; + + const onSubmit = async () => { if (username === undefined || username.trim() === "") { return; } @@ -11,7 +13,9 @@ return; } - fetch("/api/register", { + registrationErrors = []; + + const response = await fetch("/api/register", { method: "POST", headers: { "Content-Type": "application/json", @@ -20,17 +24,29 @@ username, password, }), - }) - .then((resp) => resp.json()) - .then((data) => { - console.log(data); - }); + }); + + if (!response.ok) { + const resp = await response.json(); + const error = resp["error"]; + if (response.status == 422 && error["type"] === "validation_failed") { + registrationErrors = error["validation_errors"]; + } + } };

Create account

+ {#if registrationErrors.length > 0} + + {/if} +