développement du composant Login

pull/1/head
Raphael LACOTE 8 months ago
parent 34c236cad8
commit d755961053

@ -5,19 +5,19 @@
<div> <div>
<mat-form-field class="full-width"> <mat-form-field class="full-width">
<mat-label>Login</mat-label> <mat-label>Login</mat-label>
<input matInput type="text" formControlName="login" /> <input matInput type="text" formControlName="login" (input)="onInputChange($event)"/>
</mat-form-field> </mat-form-field>
</div> </div>
<div> <div>
<mat-form-field class="full-width"> <mat-form-field class="full-width">
<mat-label>Password</mat-label> <mat-label>Password</mat-label>
<input matInput type="text" formControlName="password" /> <input matInput type="text" formControlName="password" (input)="onInputChange($event)"/>
</mat-form-field> </mat-form-field>
</div> </div>
<div> <div>
<button mat-flat-button color="primary" type="button" (click)="Connect()">Connexion</button> <button [disabled]="!this.isButtonVisible" mat-flat-button color="primary" type="button" (click)="connect()" >Connexion</button>
</div> </div>
</form> </form>

@ -1,4 +1,4 @@
import { Component, EventEmitter, Output } from '@angular/core'; import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms'; import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
@ -9,6 +9,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input'; import { MatInputModule } from '@angular/material/input';
import { MatMenuModule } from '@angular/material/menu'; import { MatMenuModule } from '@angular/material/menu';
import { User } from '../../models/user.model'; import { User } from '../../models/user.model';
import { NgIf } from '@angular/common';
@Component({ @Component({
selector: 'app-login', selector: 'app-login',
@ -21,30 +22,53 @@ import { User } from '../../models/user.model';
MatDatepickerModule, MatDatepickerModule,
MatNativeDateModule, MatNativeDateModule,
FormsModule, FormsModule,
ReactiveFormsModule ReactiveFormsModule,
NgIf
], ],
templateUrl: './login.component.html', templateUrl: './login.component.html',
styleUrl: './login.component.css' styleUrl: './login.component.css'
}) })
export class LoginComponent { export class LoginComponent {
@Output() addConnectEvent = new EventEmitter<User>();
public isButtonVisible = false;
user: User = { login: '', password: '' } user: User = { login: '', password: '' }
loginForm: FormGroup = new FormGroup({ loginForm: FormGroup = new FormGroup({
login: new FormControl(this.user.login, Validators.required), login: new FormControl(this.user.login, Validators.required),
password: new FormControl(this.user.password, Validators.required), password: new FormControl(this.user.password, Validators.required),
}); });
Connect() { connect() {
// if (this.loginForm.invalid) { console.log(this.loginForm.value.login)
// console.log("ERREUR"); console.log(this.loginForm.value.password)
// return;
// } if (this.loginForm.invalid) {
console.log(this.user.login) console.log("ERREUR INVALIDE");
console.log(this.user.password) return;
}
if(this.user.login != this.user.password){ if(this.loginForm.value.login != this.loginForm.value.password){
console.log("ERREUR"); console.log("ERREUR DIFFERENT");
return; return;
} }
this.user = this.loginForm.value;
this.addConnectEvent.emit(this.user);
this.loginForm.reset();
this.isButtonVisible = false;
}
onInputChange(event: Event) {
if(this.loginForm.value.login != "" && this.loginForm.value.password != ""){
this.isButtonVisible = true;
} else{
this.isButtonVisible = false;
}
} }
} }

Loading…
Cancel
Save