Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import {User} from "../models/user.model";
- import {Component, OnInit} from "@angular/core";
- import {AuthService} from "../services/auth.service";
- import {FormBuilder, FormControl, FormGroup, Validator, Validators} from "@angular/forms";
- import {Router} from "@angular/router";
- import {PasswordValidation} from "../../shared/password-validation";
- @Component({
- selector: 'app-signup',
- templateUrl: './singup.component.html'
- })
- export class SignupComponent implements OnInit{
- constructor(private authService:AuthService, private router:Router, private fb:FormBuilder){}
- myForm:FormGroup;
- ngOnInit(){
- this.myForm = this.fb.group({
- firstName: ['', Validators.required],
- lastName: ['', Validators.required],
- email: ['', Validators.compose([Validators.required, Validators.email])],
- country: ['', Validators.required],
- postalCode: ['', Validators.required],
- address: ['', Validators.required],
- houseNumber: ['', Validators.required],
- password: ['', Validators.required],
- confirmPassword: ['', Validators.required]
- }, {
- validator: PasswordValidation.MatchPassword
- })
- }
- getEmailError(){
- return this.myForm.get('email').hasError('email') ? 'Not a valid e-mail' : '';
- }
- onSubmit(){
- const user = new User(
- this.myForm.value.email,
- this.myForm.value.password,
- this.myForm.value.firstName,
- this.myForm.value.lastName,
- this.myForm.value.country,
- this.myForm.value.postalCode,
- this.myForm.value.address,
- this.myForm.value.houseNumber
- );
- this.authService.signUp(user)
- .subscribe(
- data =>{
- console.log(data);
- this.authService.message= "Your acount has been created, you can now log in!";
- let redirect = '/auth/signin';
- this.router.navigate([redirect]);
- },
- error => console.error(error)
- );
- this.myForm.reset();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement