update form validation

This commit is contained in:
Chneemann 2024-05-29 21:47:11 +02:00
parent 2a902cfcc1
commit 5aaf762481
6 changed files with 17 additions and 11 deletions

View file

@ -23,7 +23,8 @@
pattern="[^@]+@[^.]+\..+" pattern="[^@]+@[^.]+\..+"
disabled="{{ loginService.isBtnDisabled }}" disabled="{{ loginService.isBtnDisabled }}"
/> />
@if (!emailField.valid && emailField.touched) { @if (!emailField.valid && emailField.touched &&
!loginService.isBtnDisabled) {
<p class="error">{{ "login.errorText" | translate }}</p> <p class="error">{{ "login.errorText" | translate }}</p>
} }
</div> </div>
@ -53,13 +54,13 @@
[src]="loginService.passwordIcon" [src]="loginService.passwordIcon"
alt="Toggle visibility" alt="Toggle visibility"
/> />
@if (!passwordField.valid && passwordField.touched) { @if (!passwordField.valid && passwordField.touched &&
!loginService.isBtnDisabled && isPasswordFieldEmpty()) {
<p class="error">{{ "login.errorText2" | translate }}</p> <p class="error">{{ "login.errorText2" | translate }}</p>
} @if (loginService.errorMessage) { } @if (loginService.errorMessage && !isPasswordFieldEmpty()) {
<p class="error">{{ loginService.errorMessage }}</p> <p class="error">{{ loginService.errorMessage }}</p>
} }
</div> </div>
<div class="passwordContainer"> <div class="passwordContainer">
<span routerLink="/passwordForget">{{ <span routerLink="/passwordForget">{{
"login.midText" | translate "login.midText" | translate

View file

@ -52,6 +52,13 @@ export class LoginComponent {
} }
} }
isPasswordFieldEmpty(): boolean {
return (
!this.loginService.password ||
this.loginService.password.trim().length === 0
);
}
/** /**
* Handles form submission by triggering the login process through a login service. * Handles form submission by triggering the login process through a login service.
* This method would typically be called when a user submits a form associated with logging in. * This method would typically be called when a user submits a form associated with logging in.

View file

@ -6,7 +6,6 @@
padding-top: 132px; padding-top: 132px;
padding-bottom: 24px; padding-bottom: 24px;
width: 100vw; width: 100vw;
> a { > a {
font-size: 18px; font-size: 18px;
font-weight: 400px; font-weight: 400px;
@ -18,6 +17,7 @@
border-radius: 100px; border-radius: 100px;
border: 1px solid #eceefe; border: 1px solid #eceefe;
&:hover { &:hover {
color: #444df2;
border: 1px solid #444df2; border: 1px solid #444df2;
} }
} }

View file

@ -99,7 +99,7 @@
font-weight: 600; font-weight: 600;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
background-color: #676eec; background-color: #797ef3;
} }
} }

View file

@ -36,7 +36,7 @@
<div> <div>
<span>{{ "start-header.new" | translate }}</span> <span>{{ "start-header.new" | translate }}</span>
<div class="createAccountContainer"> <div class="createAccountContainer">
<span routerLink="/register" class="createAccoun">{{ <span routerLink="/register" class="createAccount">{{
"start-header.create" | translate "start-header.create" | translate
}}</span> }}</span>
</div> </div>

View file

@ -33,7 +33,7 @@
justify-content: end; justify-content: end;
} }
.createAccoun { .createAccount {
text-align: end; text-align: end;
font-family: Figtree, sans-serif, Nunito; font-family: Figtree, sans-serif, Nunito;
color: #797ef3; color: #797ef3;
@ -47,8 +47,6 @@
font-size: 18px; font-size: 18px;
margin-right: -13px; margin-right: -13px;
&:hover { &:hover {
font-weight: 500;
background-color: #eceefe;
color: #444df2; color: #444df2;
border: 1px solid #444df2; border: 1px solid #444df2;
} }
@ -235,7 +233,7 @@
align-items: center; align-items: center;
} }
} }
.createAccoun { .createAccount {
margin-right: 0; margin-right: 0;
} }
.logoEndPosition { .logoEndPosition {