From c011a53afd7b09909d38fd7d2bf2ad3df1de302c Mon Sep 17 00:00:00 2001 From: gap95 <gauri.a.pande@gmail.com> Date: Tue, 17 Dec 2019 18:11:08 +0100 Subject: [PATCH] registration bug fixed and validations added --- src/app/auth/register/register.page.html | 24 +++++++++++------- src/app/auth/register/register.page.ts | 31 +++++++++++------------- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/app/auth/register/register.page.html b/src/app/auth/register/register.page.html index 24e2c87..2a6d9c3 100644 --- a/src/app/auth/register/register.page.html +++ b/src/app/auth/register/register.page.html @@ -18,31 +18,33 @@ </div> - <ion-item ><ion-input type="text" formControlName="firstName" placeholder="Enter First Name"></ion-input></ion-item> + <ion-item > + <ion-input type="text" formControlName="firstname" placeholder="Enter First Name"></ion-input> + </ion-item> <div - *ngIf="angForm.controls['firstName'].invalid && (angForm.controls['firstName'].dirty || angForm.controls['firstName'].touched)" - class="alert-danger"> + *ngIf="angForm.controls['firstname'].invalid && (angForm.controls['firstname'].dirty || angForm.controls['firstname'].touched)" + class="alert-danger"><ion-icon name="alert"></ion-icon> <div *ngIf="angForm.controls['firstName'].errors.required"> First Name is required. </div> </div> <ion-item > - <ion-input type="text" formControlName="lastName" placeholder="Enter Last Name"></ion-input> + <ion-input type="text" formControlName="lastname" placeholder="Enter Last Name"></ion-input> </ion-item> <div - *ngIf="angForm.controls['lastName'].invalid && (angForm.controls['lastName'].dirty || angForm.controls['lastName'].touched)" - class="alert-danger"> + *ngIf="angForm.controls['lastname'].invalid && (angForm.controls['lastname'].dirty || angForm.controls['lastname'].touched)" + class="alert-danger"><ion-icon name="alert"></ion-icon> <div *ngIf="angForm.controls['lastName'].errors.required"> Last Name is required. </div> </div> <ion-item ><ion-input type="text" formControlName="email" placeholder="Enter Email"></ion-input></ion-item> - <div + <div *ngIf="angForm.controls['email'].invalid && (angForm.controls['email'].dirty || angForm.controls['email'].touched)" - class="alert-danger"> - <div *ngIf="angForm.controls['email'].errors.required"> + class="alert-danger" ><ion-icon name="alert"></ion-icon> + <div *ngIf="angForm.controls['email'].errors.required "> Email is required. </div> </div> @@ -53,6 +55,7 @@ *ngIf="angForm.controls['password'].invalid && (angForm.controls['password'].dirty || angForm.controls['password'].touched)" class="alert-danger"> <div *ngIf="angForm.controls['password'].errors.required"> + Password is required. </div> </div> @@ -65,6 +68,9 @@ <div padding> <ion-button [disabled]="angForm.pristine || angForm.invalid" size="large" expand="block" (click)="submitRegister()">Register</ion-button> </div> + <div padding> + <ion-button size="large" expand="block" (click)="login()">Login</ion-button> + </div> </ion-col> </ion-row> </ion-grid> diff --git a/src/app/auth/register/register.page.ts b/src/app/auth/register/register.page.ts index 96152e1..ff44b4d 100644 --- a/src/app/auth/register/register.page.ts +++ b/src/app/auth/register/register.page.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; -import { HttpClient } from '@angular/common/http'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; import { RestService } from 'src/app/rest.service'; import { ToastService } from '../../services/toast.service'; import { Router } from '@angular/router'; @@ -16,11 +16,8 @@ export class RegisterPage implements OnInit { registerApi: Observable<any>; correctCredentials: boolean; - email: ""; - password: ""; - lastName: ""; - firstName: ""; - + + constructor(private router: Router, public httpClient: HttpClient, public restService: RestService, @@ -34,10 +31,11 @@ export class RegisterPage implements OnInit { } createForm() { this.angForm = this.fb.group({ - firstName: ['',[ Validators.required ]], - lastName: ['', [Validators.required ]], - email: ['',[ Validators.required, Validators.email]], - password: ['', [Validators.required,Validators.minLength(4) ]], + + email: ['',[ Validators.required, Validators.email,Validators.pattern(/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/)]], + password: ['', [Validators.required ]], + firstname: ['',[ Validators.required ]], + lastname: ['', [Validators.required ]], @@ -48,13 +46,9 @@ export class RegisterPage implements OnInit { if (this.angForm.invalid) { return; } - - this.registerApi = this.httpClient.post('http://193.196.52.237:8081/register', { - "email": this.email, - "password": this.password, - "firstname": this.firstName, - "lastname": this.lastName - }); + let Form = JSON.stringify(this.angForm.value); + const headers = new HttpHeaders().set("Content-Type", 'application/json'); + this.registerApi = this.httpClient.post('http://193.196.52.237:8081/register', Form,{headers}); this.registerApi .subscribe((data) => { console.log('my data: ', data); @@ -68,4 +62,7 @@ export class RegisterPage implements OnInit { }); } + login(){ + this.router.navigateByUrl('/login'); + } } -- GitLab