Partage
  • Partager sur Facebook
  • Partager sur Twitter

login simple avec Angular

Sujet résolu
    19 novembre 2018 à 11:28:12

    Bonjour,

    Je tente de comparer mon username du formulaire avec mon username de ma  BDD.

    Mais j'ai des erreurs que je n'arrive pas à résoudre..

    <section class="background">
         
        
                <form class="connexion" (ngSubmit)='onSubmit()' #f="ngForm" >
      
        
                    <mat-form-field>
                    <label for="username">Email:</label><br/>
                    <input matInput type="text" id="username" name='username' ngModel  required/><br/>
                    </mat-form-field>
                   
                    <mat-form-field>
                    <label for="password">Password:</label><br/>
                    <input matInput type="password" id="password" name="password" ngModel  required/><br/>
                    </mat-form-field>
                    
                                         
                    <a><button mat-raised-button (click)="login()" type="submit" [disabled]="f.invalid">Connexion</button></a>
                    <a routerLink='motdepasse' mat-button>Mot de passe oublié?</a>
                   
                </form>
    
    
    </section>
    // login.component.ts
    
    import { Component, NgModule, OnInit } from '@angular/core';
    import { ReactiveFormsModule, FormControl, FormGroup, NgForm } from '@angular/forms';
    import { userService } from '../services/user.service';
    import { HttpClientModule } from '@angular/common/http';
    import { HttpModule } from '@angular/http';
    import { UserModel } from '../models/user.model';
    
    
    @NgModule({
      imports: [
        ReactiveFormsModule,
        FormControl,
        FormGroup,
        HttpClientModule,
        HttpModule
      ],
    })
    
    @Component({
        selector: 'app-login',
        templateUrl: './login.component.html',
        styleUrls: ['./login.component.css']
    })
    export class LoginComponent implements OnInit{
      
    
      loginUserData = {}
      
        constructor(private _userService: userService,
                    private _userModel: UserModel) {}  
      ngOnInit(){
        this._userService.setUrl();
        /*this._userService.getConfiguration();*/
      }
      onSubmit(form: NgForm){
        const username = form.value['username'];
        const password = form.value['password'];
    
    }
        
      }
      
    //user.service.ts
    
    import { Injectable, OnInit } from "@angular/core";
    import { FormGroup, FormControl, Validators, FormBuilder, NgForm } from "@angular/forms";
    import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
    
    
    import { Router } from "@angular/router";
    import { UserModel } from '../models/user.model';
    import { stringify } from "querystring";
    
    export enum Endpoints {
        login = "/login",
        logout = "/LOGOUT",
        etc = "/ETC"
    }
    
    @Injectable()
    export class userService implements OnInit{
       
        private configJson: any;
        private url: string;
    
    
    
    
          public href: string = "";
    
        
        constructor(private http: HttpClient,
                    private router: Router,
                    private _userModel: UserModel,
                    private formBuilder: FormBuilder
                    ){
    
        }
    
    ngOnInit(){
       
    }
    
       async setUrl(){
            this.configJson = await this.http.get('../../assets/config.json').toPromise();
            this.url = this.configJson.url;
            console.log(this.url);
            this.login();
        }  
    
        login(){
            var model = {
                username: '',
                password: ''
            }
            if(model.username == this._userModel.username && model.password == this._userModel.password){
            
           
                console.log(model.username);
                this.router.navigate(['/home']);
           
        }
       
    }
    
     


    Quelqu'un saurait-il ce qui ne va pas?

    Merci par avance pour votre aide



    -
    Edité par AmbreSwiii 19 novembre 2018 à 16:28:14

    • Partager sur Facebook
    • Partager sur Twitter
      20 novembre 2018 à 0:24:29

      de un il ne trouve pas la fonction login() dans login.component.ts, faudrait peut être en créer une ensuite

      de deux dans ton HTML à la ligne,  (ngSubmit)='onSubmit()' tu lui passes aucun argument donc dans ta fonction

      onSubmit(form: NgForm){
          const username = form.value['username'];
          const password = form.value['password'];
       
      }

      de login.component.ts ton form est null et ici tu essayes de récupérer le username et le password d'un objet qui est null d'ou l'erreur

      -
      Edité par unchained77 20 novembre 2018 à 0:25:14

      • Partager sur Facebook
      • Partager sur Twitter

      login simple avec Angular

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown