My Code is here:

import { Component,OnInit } from '@angular/core';
import { FormGroup, FormBuilder,Validators } from '@angular/forms';
import {  matchingPasswords } from './validators';
import { SignupService } from './../../services/signup.service';
import { FlashMessagesService } from 'angular2-flash-messages';


@Component({
    moduleId: module.id,
    selector: 'app-signup',
    templateUrl: 'signup.component.html',
    styles: [`input.ng-invalid,select.ng-invalid{ border-left:5px solid 
red; }
            input.ng-valid,select.ng-valid{ border-left:5px solid green;}
            .form .form-control { margin-bottom: 10px; }
            `],
    providers:[SignupService]
})

export class SignupComponent implements OnInit{
    signupForm : FormGroup;

    constructor(private _formbuilder:FormBuilder,private 
_signupService:SignupService,private _flashMessagesService: 
FlashMessagesService){

        console.log('constructor');
    }

    ngOnInit(){
        
       this.signupForm= this._formbuilder.group({
            firstname: [null,Validators.required],
            lastname: [null,Validators.required],
            email: 
[null,[Validators.required,Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'),this.isUniqueEmail]],
            password: [null,Validators.required],
            confirm_password: [null,Validators.required],
            dateofbirth: this._formbuilder.group({
                month: [null,Validators.required],
                day: [null,Validators.required],
                year: [null,Validators.required]
            }),
            gender: [null,Validators.required]
        },{validator: matchingPasswords('password', 'confirm_password')});
    }

    isUniqueEmail(formfield:FormGroup){
        var val= formfield.value;
        //console.log(this._signupService);
        /*if(val){
            var userdata={
                email: '[email protected]'
            }
            this._signupService.checkemail(userdata).subscribe(data=>{
                console.log(data);
            });
        }*/
        
    }
    /*signupForm = new FormGroup({
        'firstname': new FormControl(null,Validators.required),
        'lastname': new FormControl(null,Validators.required),
        'email': new 
FormControl(null,[Validators.required,Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$')]),
        'password': new FormControl(null,Validators.required),
        'confirm_password': new FormControl(null,Validators.required),
        'dateofbirth': new FormGroup({
            'month': new FormControl(null,Validators.required),
            'day': new FormControl(null,Validators.required),
            'year': new FormControl(null,Validators.required)
        }),
        'gender': new FormControl(null,Validators.required)

    });*/

    onSubmit(){
        //var dob = 
this.signupForm.value.dateofbirth.year+'-'+this.signupForm.value.dateofbirth.month+'-'+this.signupForm.value.dateofbirth.day;
        var dob = new 
Date(this.signupForm.value.dateofbirth.year,this.signupForm.value.dateofbirth.month,this.signupForm.value.dateofbirth.day);
        
        var userdata={
            firstname: this.signupForm.value.firstname,
            lastname: this.signupForm.value.lastname,
            email: this.signupForm.value.email,
            password: this.signupForm.value.password,
            dob: dob,
            gender: this.signupForm.value.gender
        }
        
       
        this._signupService.addUser(userdata).subscribe(data=>{
            this._flashMessagesService.show('User created successfully!', { 
cssClass: 'alert-success' } );
        },error=>{
            this._flashMessagesService.show('Unable to create user!', { 
cssClass: 'alert-danger' } );
        });
        this.signupForm.reset();
    }

}


this._signupService is undefined in isUniqueEmail function.


-- 
You received this message because you are subscribed to the Google Groups 
"Angular" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to