- Timestamp:
- 01/24/22 21:08:32 (2 years ago)
- Branches:
- master
- Children:
- 76712b2
- Parents:
- bdd6491
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trip-planner-front/src/app/homepage/login/login.component.ts
rbdd6491 rb738035 1 1 import { Component, OnInit } from '@angular/core'; 2 import { Router } from '@angular/router';2 import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; 3 3 import { DynamicDialogRef } from 'primeng/dynamicdialog'; 4 4 import { LoginRequest } from 'src/app/_models/dto/loginRequest'; 5 import { PlannerLocationDto } from 'src/app/_models/dto/plannerLocationDto'; 6 import { UserDto } from 'src/app/_models/dto/userDto'; 7 import { UsernameDto } from 'src/app/_models/dto/usernameDto'; 5 8 import { UserService } from 'src/app/_services/user.service'; 6 9 … … 12 15 export class LoginComponent implements OnInit { 13 16 17 form: FormGroup; 18 loginRequest: LoginRequest; 19 usernames: string[]; 14 20 15 loginRequest : LoginRequest; 21 constructor(private ref: DynamicDialogRef, private userService: UserService, formBuilder: FormBuilder) { 22 this.loginRequest = new LoginRequest(); 23 this.usernames = []; 16 24 17 constructor(private ref: DynamicDialogRef, private router: Router, private userService : UserService) { 18 this.loginRequest = new LoginRequest(); 19 25 this.form = formBuilder.group({ 26 username: new FormControl('', [Validators.required]), 27 password: new FormControl('', [Validators.required, Validators.minLength(6)]), 28 }, 29 { 30 validators: [ 31 this.validateUser('username') 32 ] 33 } 34 ); 20 35 } 21 36 22 37 ngOnInit(): void { 38 23 39 } 24 40 25 onFormLogIn(loginRequest){ 26 this.ref.close(loginRequest); 27 41 onFormLogIn(loginRequest) { 42 const { valid } = this.form; 43 if (valid) { 44 this.ref.close(loginRequest); 45 } 46 } 47 48 validateUser(username: string) { 49 return (formGroup: FormGroup) => { 50 const control = formGroup.controls[username]; 51 52 if (control.errors && !control.errors.validateUser) { 53 return; 54 } 55 56 this.userService.getAllUsernames().subscribe( 57 data => { 58 this.usernames = data; 59 for (let i = 0; i < this.usernames.length; i++) { 60 if (control.value === this.usernames[i]) { 61 control.setErrors(null); 62 63 break; 64 } else { 65 control.setErrors({ validateUser: true }); 66 } 67 68 } 69 } 70 ); 71 return null; 72 73 }; 74 28 75 } 29 76 }
Note:
See TracChangeset
for help on using the changeset viewer.