mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
Merged PR 211: #804 Fix Country Errors Mapping
#804 Fix Country Errors Mapping Related work items: #804
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
<div id="customer-form" class="fixed-card-container create-customer-container" (scroll)="scrollHandler($event)" *ngIf="loaded">
|
||||
<div
|
||||
id="customer-form"
|
||||
class="fixed-card-container create-customer-container"
|
||||
(scroll)="scrollHandler($event)"
|
||||
*ngIf="loaded"
|
||||
>
|
||||
<div class="fixed-card-header">
|
||||
<span>Kundendaten erfassen</span>
|
||||
</div>
|
||||
@@ -8,10 +13,22 @@
|
||||
<span>{{ headerText }}</span>
|
||||
</div>
|
||||
<div class="types-wrapper">
|
||||
<div class="type" (click)="toggleGuest()" [ngClass]="{ 'type-disabled': guestDisabled }">
|
||||
<div
|
||||
class="type"
|
||||
(click)="toggleGuest()"
|
||||
[ngClass]="{ 'type-disabled': guestDisabled }"
|
||||
>
|
||||
<div class="filter-checkbox">
|
||||
<lib-icon height="22px" name="Check_box" *ngIf="!guestDisabled"></lib-icon>
|
||||
<lib-icon height="22px" name="Check_box_disabled" *ngIf="guestDisabled"></lib-icon>
|
||||
<lib-icon
|
||||
height="22px"
|
||||
name="Check_box"
|
||||
*ngIf="!guestDisabled"
|
||||
></lib-icon>
|
||||
<lib-icon
|
||||
height="22px"
|
||||
name="Check_box_disabled"
|
||||
*ngIf="guestDisabled"
|
||||
></lib-icon>
|
||||
<div class="checked-box" *ngIf="guestChecked">
|
||||
<lib-icon name="Check_f" *ngIf="!guestDisabled"></lib-icon>
|
||||
<lib-icon name="Check_f_disabled" *ngIf="guestDisabled"></lib-icon>
|
||||
@@ -42,11 +59,21 @@
|
||||
<div class="form-group form-group-split-container">
|
||||
<div class="form-group-split">
|
||||
<app-select
|
||||
[selected]="f.gender.value && f.gender.value.length > 0 ? f.gender.value : 'Anrede'"
|
||||
[selected]="
|
||||
f.gender.value && f.gender.value.length > 0
|
||||
? f.gender.value
|
||||
: 'Anrede'
|
||||
"
|
||||
[label]="'Anrede'"
|
||||
[options]="genders"
|
||||
[displayErrorUnder]="true"
|
||||
[showrequired]="deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked"
|
||||
[showrequired]="
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[error]="submitted && f.gender.errors"
|
||||
[errorMessage]="'Anrede wird benötigt'"
|
||||
[value]="f.gender.value"
|
||||
@@ -56,7 +83,11 @@
|
||||
</div>
|
||||
<div class="form-group-split">
|
||||
<app-select
|
||||
[selected]="f.title.value && f.title.value.length > 0 ? f.title.value : 'Titel'"
|
||||
[selected]="
|
||||
f.title.value && f.title.value.length > 0
|
||||
? f.title.value
|
||||
: 'Titel'
|
||||
"
|
||||
[label]="'Titel'"
|
||||
[options]="titels"
|
||||
[value]="f.title.value"
|
||||
@@ -76,12 +107,16 @@
|
||||
[label]="'Vorname'"
|
||||
[error]="(submitted || backendValidation) && f.firstName.errors"
|
||||
[errorMessage]="
|
||||
f.firstName.errors && f.firstName.errors.backendValidation ? f.firstName.errors.backendValidationMsg : 'Vorname wird benötigt'
|
||||
f.firstName.errors && f.firstName.errors.backendValidation
|
||||
? f.firstName.errors.backendValidationMsg
|
||||
: 'Vorname wird benötigt'
|
||||
"
|
||||
[displayErrorUnder]="true"
|
||||
[value]="f.firstName.value"
|
||||
[isDirty]="f.firstName.dirty"
|
||||
(valueChanges)="valueChanges(f.firstName, $event); clearErrors('firstName')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.firstName, $event); clearErrors('firstName')
|
||||
"
|
||||
></app-input>
|
||||
</div>
|
||||
<div class="form-group-split">
|
||||
@@ -93,21 +128,27 @@
|
||||
[label]="'Nachname'"
|
||||
[error]="(submitted || backendValidation) && f.lastName.errors"
|
||||
[errorMessage]="
|
||||
f.lastName.errors && f.lastName.errors.backendValidation ? f.lastName.errors.backendValidationMsg : 'Nachname wird benötigt'
|
||||
f.lastName.errors && f.lastName.errors.backendValidation
|
||||
? f.lastName.errors.backendValidationMsg
|
||||
: 'Nachname wird benötigt'
|
||||
"
|
||||
[displayErrorUnder]="true"
|
||||
[value]="f.lastName.value"
|
||||
[isDirty]="f.lastName.dirty"
|
||||
(valueChanges)="valueChanges(f.lastName, $event); clearErrors('lastName')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.lastName, $event); clearErrors('lastName')
|
||||
"
|
||||
></app-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="additional-information" *ngIf="deliveryAndGuestOrOnline">
|
||||
<span>
|
||||
Wir werden Ihnen Werbung zu ähnlichen Produkten oder Dienstleistungen aus unserem Sortiment per E-Mail zusenden. Sie können der
|
||||
Verwendung Ihrer Daten jederzeit z.B. mittels der in den E-Mails enthaltenen Abmeldelinks widersprechen, ohne dass hierfür andere
|
||||
als die Übermittlungskosten nach den Basistarifen entstehen.
|
||||
Wir werden Ihnen Werbung zu ähnlichen Produkten oder Dienstleistungen
|
||||
aus unserem Sortiment per E-Mail zusenden. Sie können der Verwendung
|
||||
Ihrer Daten jederzeit z.B. mittels der in den E-Mails enthaltenen
|
||||
Abmeldelinks widersprechen, ohne dass hierfür andere als die
|
||||
Übermittlungskosten nach den Basistarifen entstehen.
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -115,8 +156,20 @@
|
||||
<app-input
|
||||
[type]="'text'"
|
||||
[id]="'email'"
|
||||
[required]="deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked"
|
||||
[showrequired]="deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked"
|
||||
[required]="
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[showrequired]="
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[label]="'E-Mail-Adresse'"
|
||||
[error]="(firstEmailInput || submitted) && f.email.errors"
|
||||
[errorMessage]="
|
||||
@@ -128,7 +181,11 @@
|
||||
"
|
||||
[trim]="true"
|
||||
[isDirty]="f.email.dirty"
|
||||
(valueChanges)="valueChanges(f.email, $event, 'email'); firstEmailChange(); clearErrors('email')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.email, $event, 'email');
|
||||
firstEmailChange();
|
||||
clearErrors('email')
|
||||
"
|
||||
[value]="f.email.value"
|
||||
></app-input>
|
||||
</div>
|
||||
@@ -151,10 +208,20 @@
|
||||
[type]="'text'"
|
||||
[id]="'address'"
|
||||
[required]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[showrequired]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[label]="'Straße'"
|
||||
[error]="submitted && (f.address.errors || addressGeneralError)"
|
||||
@@ -168,7 +235,9 @@
|
||||
[displayErrorUnder]="true"
|
||||
[value]="f.address.value"
|
||||
[isDirty]="f.address.dirty"
|
||||
(valueChanges)="valueChanges(f.address, $event, 'address'); clearErrors('address')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.address, $event, 'address'); clearErrors('address')
|
||||
"
|
||||
></app-input>
|
||||
</div>
|
||||
<div class="form-group-split">
|
||||
@@ -176,10 +245,20 @@
|
||||
[type]="'text'"
|
||||
[id]="'streetNo'"
|
||||
[required]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[showrequired]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[label]="'Hausnummer'"
|
||||
[error]="submitted && (f.streetNo.errors || addressNoGeneralError)"
|
||||
@@ -193,7 +272,10 @@
|
||||
[displayErrorUnder]="true"
|
||||
[value]="f.streetNo.value"
|
||||
[isDirty]="f.streetNo.dirty"
|
||||
(valueChanges)="valueChanges(f.streetNo, $event, 'streetNo'); clearErrors('streetNo')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.streetNo, $event, 'streetNo');
|
||||
clearErrors('streetNo')
|
||||
"
|
||||
></app-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -204,10 +286,20 @@
|
||||
[type]="'number'"
|
||||
[id]="'zipCode'"
|
||||
[required]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[showrequired]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[label]="'PLZ'"
|
||||
[error]="submitted && (f.zipCode.errors || zipGeneralError)"
|
||||
@@ -221,7 +313,9 @@
|
||||
[displayErrorUnder]="true"
|
||||
[value]="f.zipCode.value"
|
||||
[isDirty]="f.zipCode.dirty"
|
||||
(valueChanges)="valueChanges(f.zipCode, $event, 'zipCode'); clearErrors('zipCode')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.zipCode, $event, 'zipCode'); clearErrors('zipCode')
|
||||
"
|
||||
></app-input>
|
||||
</div>
|
||||
<div class="form-group-split">
|
||||
@@ -229,10 +323,20 @@
|
||||
[type]="'text'"
|
||||
[id]="'city'"
|
||||
[required]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[showrequired]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[label]="'Ort'"
|
||||
[error]="submitted && (f.city.errors || cityGeneralError)"
|
||||
@@ -246,26 +350,41 @@
|
||||
[displayErrorUnder]="true"
|
||||
[value]="f.city.value"
|
||||
[isDirty]="f.city.dirty"
|
||||
(valueChanges)="valueChanges(f.city, $event, 'city'); clearErrors('city')"
|
||||
(valueChanges)="
|
||||
valueChanges(f.city, $event, 'city'); clearErrors('city')
|
||||
"
|
||||
></app-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<app-select
|
||||
[selected]="f.country.value && f.country.value.length > 0 ? f.country.value : 'Land'"
|
||||
[selected]="
|
||||
f.country.value && f.country.value.length > 0
|
||||
? f.country.value
|
||||
: 'Land'
|
||||
"
|
||||
[label]="'Land'"
|
||||
[options]="guestChecked || onlineChecked ? (deutchland | async) : (countries | async)"
|
||||
[options]="
|
||||
guestChecked || onlineChecked
|
||||
? (deutchland | async)
|
||||
: (countries | async)
|
||||
"
|
||||
(valueChanges)="countrySelect($event); clearErrors('country')"
|
||||
[showrequired]="
|
||||
!create || deliveryAndGuestOrOnline || pickUpOrTakeNowAndOnline || downloadAndOnline || onlineChecked || guestChecked
|
||||
!create ||
|
||||
deliveryAndGuestOrOnline ||
|
||||
pickUpOrTakeNowAndOnline ||
|
||||
downloadAndOnline ||
|
||||
onlineChecked ||
|
||||
guestChecked
|
||||
"
|
||||
[error]="submitted && f.country.errors"
|
||||
[errorMessage]="
|
||||
countryGeneralError
|
||||
? 'Ungültige Eingabe des Landes'
|
||||
: f.city.errors && f.city.errors.backendValidation
|
||||
? f.city.errors.backendValidationMsg
|
||||
: f.country.errors && f.country.errors.backendValidation
|
||||
? f.country.errors.backendValidationMsg
|
||||
: 'Land wird benötigt'
|
||||
"
|
||||
[value]="f.country.value"
|
||||
@@ -278,7 +397,8 @@
|
||||
|
||||
<div class="phone-onlinekonto" *ngIf="onlineChecked">
|
||||
<span>
|
||||
Das Anlegen geht für Sie noch schneller, wenn wir Ihnen das initiale Passwort per SMS auf Ihr Mobilgerät schicken.
|
||||
Das Anlegen geht für Sie noch schneller, wenn wir Ihnen das initiale
|
||||
Passwort per SMS auf Ihr Mobilgerät schicken.
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -318,7 +438,9 @@
|
||||
[label]="'Geburtsdatum (TT.MM.JJJJ)'"
|
||||
[error]="submitted && f.dateOfBirth.errors"
|
||||
[errorMessage]="
|
||||
f.dateOfBirth.errors && f.dateOfBirth.errors.required ? 'Geburtsdatum wird benötigt' : 'Geburtsdatum hat ein falsches Format'
|
||||
f.dateOfBirth.errors && f.dateOfBirth.errors.required
|
||||
? 'Geburtsdatum wird benötigt'
|
||||
: 'Geburtsdatum hat ein falsches Format'
|
||||
"
|
||||
(valueChanges)="valueChanges(f.dateOfBirth, $event)"
|
||||
[value]="f.dateOfBirth.value"
|
||||
@@ -363,7 +485,14 @@
|
||||
</ng-container>
|
||||
|
||||
<div class="form-group btn-container">
|
||||
<app-button [primary]="true" [stayOnPage]="true" [load]="true" (action)="post()" #postBtn>{{ btnText }}</app-button>
|
||||
<app-button
|
||||
[primary]="true"
|
||||
[stayOnPage]="true"
|
||||
[load]="true"
|
||||
(action)="post()"
|
||||
#postBtn
|
||||
>{{ btnText }}</app-button
|
||||
>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user