From 26d94c4ba7dd12cfa433d0c037f3bba8f73995f4 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 30 Dec 2022 10:42:15 -0300 Subject: add login username validation & prevent safari to capitalize --- packages/demobank-ui/src/pages/LoginForm.tsx | 10 +++++++++- .../demobank-ui/src/pages/PaytoWireTransferForm.tsx | 18 +++++++++++++++--- packages/demobank-ui/src/pages/RegistrationPage.tsx | 6 +++--- 3 files changed, 27 insertions(+), 7 deletions(-) (limited to 'packages/demobank-ui/src') diff --git a/packages/demobank-ui/src/pages/LoginForm.tsx b/packages/demobank-ui/src/pages/LoginForm.tsx index dd0364d6e..1fbba357b 100644 --- a/packages/demobank-ui/src/pages/LoginForm.tsx +++ b/packages/demobank-ui/src/pages/LoginForm.tsx @@ -23,6 +23,7 @@ import { BackendStateHandler } from "../hooks/backend.js"; import { bankUiSettings } from "../settings.js"; import { getBankBackendBaseUrl, undefinedIfEmpty } from "../utils.js"; import { ShowInputErrorLabel } from "./ShowInputErrorLabel.js"; +import { USERNAME_REGEX } from "./RegistrationPage.js"; /** * Collect and submit login data. @@ -38,7 +39,11 @@ export function LoginForm(): VNode { }, []); const errors = undefinedIfEmpty({ - username: !username ? i18n.str`Missing username` : undefined, + username: !username + ? i18n.str`Missing username` + : !USERNAME_REGEX.test(username) + ? i18n.str`Use only letter and numbers starting with a lower case letter` + : undefined, password: !password ? i18n.str`Missing password` : undefined, }); @@ -50,6 +55,9 @@ export function LoginForm(): VNode { onSubmit={(e) => { e.preventDefault(); }} + autoCapitalize="none" + autoCorrect="off" + autoComplete="off" >

{i18n.str`Please login!`}

diff --git a/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx b/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx index 1922eeed3..021da51ed 100644 --- a/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx +++ b/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx @@ -80,6 +80,9 @@ export function PaytoWireTransferForm({ onSubmit={(e) => { e.preventDefault(); }} + autoCapitalize="none" + autoCorrect="off" + autoComplete="off" >

  @@ -249,7 +252,16 @@ export function PaytoWireTransferForm({ return (

{i18n.str`Transfer money to account identified by payto:// URI:`}

-
+
{ + e.preventDefault(); + }} + autoCapitalize="none" + autoCorrect="off" + autoComplete="off" + >

 
-

+
Hint: payto://iban/[receiver-iban]?message=[subject]&amount=[{currency} @@ -322,7 +334,7 @@ export function PaytoWireTransferForm({ {i18n.str`Use wire-transfer form?`}

-
+
); } diff --git a/packages/demobank-ui/src/pages/RegistrationPage.tsx b/packages/demobank-ui/src/pages/RegistrationPage.tsx index 183fa993e..12b3b6978 100644 --- a/packages/demobank-ui/src/pages/RegistrationPage.tsx +++ b/packages/demobank-ui/src/pages/RegistrationPage.tsx @@ -47,7 +47,7 @@ export function RegistrationPage(): VNode { ); } -const usernameRegex = /^[a-z][a-zA-Z0-9]+$/; +export const USERNAME_REGEX = /^[a-z][a-zA-Z0-9]+$/; /** * Collect and submit registration data. @@ -64,12 +64,12 @@ function RegistrationForm(): VNode { const errors = undefinedIfEmpty({ username: !username ? i18n.str`Missing username` - : !usernameRegex.test(username) + : !USERNAME_REGEX.test(username) ? i18n.str`Use only letter and numbers starting with a lower case letter` : undefined, password: !password ? i18n.str`Missing password` - : !usernameRegex.test(password) + : !USERNAME_REGEX.test(password) ? i18n.str`Use only letter and numbers starting with a lower case letter` : undefined, repeatPassword: !repeatPassword -- cgit v1.2.3