2017-09-22 1 views
0

Ich versuche, einen Link zum Zurücksetzen des Passworts an die E-Mail-Adresse des Benutzers zu senden und den Fehler wie im Titel dieser Frage zu erhalten.Passwort zurücksetzen: Das erste Argument "email" muss eine gültige Zeichenfolge sein

Hier ist meine resetpassword.ts Datei

import { Component } from '@angular/core'; 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
import { AngularFireAuth } from "angularfire2/auth"; 
import { User } from "../../models/user"; 

/** 
* Generated class for the ResetpasswordPage page. 
* 
* See http://ionicframework.com/docs/components/#navigation for more info 
* on Ionic pages and navigation. 
*/ 
@IonicPage() 
@Component({ 
    selector: 'page-resetpassword', 
    templateUrl: 'resetpassword.html', 
    providers: [AngularFireAuth] 
}) 
export class ResetpasswordPage { 
    resetMsg: string="Reset" 
    user = {} as User 

    constructor(private afauth: AngularFireAuth, public navCtrl: 
NavController, public navParams: NavParams) { 
    } 

    async reset(user: User) { 
    try{ 
     const result = 
this.afauth.auth.sendPasswordResetEmail(this.user.email); 
     if(result) { 
     console.log(result); 
     } 
    } 
    catch(e) { 
     console.error(e); 
    } 

} 
} 

Hier ist der Code in user.ts Datei in Modellen Ordner:

export interface User { 

    email: string; 
    password: string; 

} 

Dieser Code unten ist der Teil der HTML-Datei:

<ion-item> 
    <ion-label color="primary" floating>Email</ion-label> 
    <ion-input type="email" [(ngModel)]="user.email"></ion-input> 
    </ion-item> 
     <button class="reset" (click)="reset(user)" ion-button round medium icon-end color="primary"> 
     {{ resetMsg }} 
     <ion-icon name="arrow-forward"></ion-icon> 
     </button> 

Erstellen des Benutzers, Login ist alles gut, aber nicht in der Lage, die Reset-Passwort-E-Mail zu senden. Bitte helfen Sie! Vielen Dank.

+0

Was wird 'console.log (this.user.email) 'ausgegeben? –

+0

code: "auth/argument-error", nachricht: "sendPasswordResetEmail fehlgeschlagen: Das erste Argument" email "muss eine gültige Zeichenfolge sein." ist was es als Ausgabe wirft. Nicht sicher, warum die E-Mail nicht als gültige Zeichenfolge betrachtet wird – Murali

+0

Wenn Sie die richtige E-Mail im Konsolenprotokoll erhalten, versuchen Sie etwas wie diese 'this.user.email.toString' oder wickeln Sie sie als String um. – Hareesh

Antwort

0

Ich kenne das zugrunde liegende Problem nicht. Aber ich musste den Code erneut kompilieren und den Befehl ionic serve in einer neuen Instanz ausführen, um das Problem zu beheben. @camden_kid Ihre Antwort hat mir geholfen, zu bestätigen, ob die E-Mail tatsächlich als Zeichenfolge genommen wurde oder nicht. Vielen Dank!!!

Verwandte Themen