import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { ErrorComponent } from '../error/error.component'; import {MatDialogRef, MatDialog} from '@angular/material'; import { SadeeService } from '../sadee.servise'; @Component({ selector: 'app-sign-up', templateUrl: './signup.component.html', styleUrls: ['./signup.component.scss'] }) export class SignupComponent implements OnInit { sadeeService : SadeeService; errDialog : MatDialog; router: Router; constructor(router: Router, sadeeService : SadeeService, errDialog : MatDialog) { this.router = router; this.sadeeService = sadeeService; this.errDialog = errDialog; } ngOnInit() { this.sadeeService.checkDB(() => { this.router.navigate(['login']); }); } checkIsValidUsername(username) { if (username.length <= 4) { return false; } return true; } checkIsValidPassword(password) { let hasNumber = /\d/; let hasLetter = /[a-z]/i; if (!(password.match(hasNumber)) || !(password.match(hasLetter))) { return false; } if (password.length <= 5) { return false; } return true; } checkIsValidConfirmPassword(confirmpassword, password) { if (confirmpassword != password) { return false; } return true; } onSubmit(submittedForm) { let errStr = 'Erro ao realizar o cadastro!\n'; let isValid = true; if (!this.checkIsValidUsername(submittedForm.value.username)) { isValid = false; errStr += '.Nome de usuário inválido\n' } if (!this.checkIsValidPassword(submittedForm.value.password)) { isValid = false; errStr += '.Senha inválida\n' } if (!this.checkIsValidConfirmPassword(submittedForm.value.confirmpassword, submittedForm.value.password)) { isValid = false; errStr += '.As senhas não são iguais\n' } if (isValid) { const result = this.sadeeService.signup(submittedForm.value.username, submittedForm.value.password, submittedForm.value.confirmpassword, (result) => { if(result){ this.router.navigate(['login']); } else { errStr += ('. Falha no servidor! Tente novamente mais tarde.'); window.alert(errStr); } } ); } else { let errDialogRef = this.errDialog.open(ErrorComponent, { height: '400px', width: '400px' }); errDialogRef.componentInstance.errorMessage = errStr; } } }