From 8c314bff505103a2042ae3ccc094aa074c92dd17 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Sat, 25 May 2024 18:16:41 +0200 Subject: [PATCH] update form validation --- .../contact-form/contact-form.component.html | 2 +- .../login/forgot-pw/pw-reset/pw-reset.component.html | 2 ++ src/app/components/login/login.component.html | 1 + .../login/register/register.component.html | 12 ++++++++++-- src/assets/i18n/de.json | 1 + src/assets/i18n/en.json | 1 + 6 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/app/components/contacts/contact-edit-new/contact-form/contact-form.component.html b/src/app/components/contacts/contact-edit-new/contact-form/contact-form.component.html index 29d7c8c..24b6ddd 100644 --- a/src/app/components/contacts/contact-edit-new/contact-form/contact-form.component.html +++ b/src/app/components/contacts/contact-edit-new/contact-form/contact-form.component.html @@ -121,7 +121,7 @@ }
- @if (currentUserId !== firebaseService.getCurrentUserId()){ + @if (currentUserId){ @if(!pwResetData.password) { @@ -56,6 +57,7 @@ class="custom-input" autocomplete="new-password" [(ngModel)]="pwResetData.passwordConfirm" + pattern="[^<>]*" required /> @if(!pwResetData.passwordConfirm) { diff --git a/src/app/components/login/login.component.html b/src/app/components/login/login.component.html index f41f247..d4ab2f3 100644 --- a/src/app/components/login/login.component.html +++ b/src/app/components/login/login.component.html @@ -53,6 +53,7 @@ placeholder="{{ 'login.password' | translate }}" class="custom-input" autocomplete="current-password" + pattern="[^<>]*" [(ngModel)]="loginData.password" required /> diff --git a/src/app/components/login/register/register.component.html b/src/app/components/login/register/register.component.html index 591d83a..7409627 100644 --- a/src/app/components/login/register/register.component.html +++ b/src/app/components/login/register/register.component.html @@ -21,10 +21,12 @@ id="name" name="name" #name="ngModel" + maxlength="20" placeholder="{{ 'register.name' | translate }}" class="custom-input" autocomplete="name" [(ngModel)]="registerData.name" + pattern="[A-Za-z ]+" required /> @if(!registerData.name) { @@ -37,9 +39,13 @@ }
- @if (!name.valid && name.touched && !sharedService.isBtnDisabled) { + @if (name.hasError('pattern') && name.touched && + !sharedService.isBtnDisabled) { +

{{ "register.errorPattern" | translate }}

+ } @else { @if (!name.valid && name.touched && + !sharedService.isBtnDisabled) {

{{ "register.errorName" | translate }}

- } + }}
@if(!registerData.password) { @@ -120,6 +127,7 @@ class="custom-input" autocomplete="new-password" [(ngModel)]="registerData.passwordConfirm" + pattern="[^<>]*" required /> @if(!registerData.passwordConfirm) { diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index dafc6a5..9fe597d 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -35,6 +35,7 @@ "privacyPolicy0": "Ich akzeptiere die", "privacyPolicy1": "Datenschutzerklärung", "privacyPolicyError": "Sie müssen die Datenschutzbestimmungen akzeptieren!", + "errorPattern": "Bitte nur Buchstaben und Leerzeichen verwenden!", "errorName": "Sie müssen einen Namen eingeben!", "errorMail0": "Sie müssen eine E-Mail Adresse eingeben!", "errorMail1": "Dies ist kein gültiges E-Mail-Format!", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index ac19075..4817555 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -35,6 +35,7 @@ "privacyPolicy0": "I accept the", "privacyPolicy1": "Privacy policy", "privacyPolicyError": "You must accept the privacy policy!", + "errorPattern": "Please use only letters and spaces!", "errorName": "You must enter a name!", "errorMail0": "You must enter a mail!", "errorMail1": "This is not a valid email format!",