2017-09-22 4 views
0

사용자의 이메일에 비밀번호 재설정 링크를 보내고이 질문의 제목과 같은 오류가 표시됩니다.비밀번호 재설정 : 첫 번째 인수 인 "email"은 유효한 문자열이어야합니다.

은 여기 내 resetpassword.ts 여기

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); 
    } 

} 
} 

이 모델 폴더에 user.ts 파일의 코드의 파일입니다 :

export interface User { 

    email: string; 
    password: string; 

} 

다음이 코드는 HTML 파일의 일부입니다

<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> 

사용자를 생성하면 로그인이 정상이지만 비밀번호 재설정 이메일을 보낼 수 없습니다. 도와주세요! 감사.

+0

'console.log (this.user.email)'출력은 무엇입니까? –

+0

코드 : "auth/argument-error", 메시지 : "sendPasswordResetEmail 실패 : 첫 번째 인수 인"email "은 유효한 문자열이어야합니다." 출력으로 던지는 것입니다. 왜 당신이 콘솔 로그에서 올바른 이메일을 얻는다면이 이메일이 유효한 문자열 인 – Murali

+0

으로 간주되지 않는 이유를 잘 모르거나'this.user.email.toString'과 같이 시도하거나 String으로 감싸 주면됩니다. – Hareesh

답변

0

기본적인 문제를 모릅니다. 그러나 코드를 다시 컴파일하고 새로운 인스턴스에서 ionic serve 명령을 실행하여 문제를 해결했습니다. @camden_kid 귀하의 답변은 전자 메일이 실제로 문자열로 취해 졌는지 여부를 확인하는 데 도움이되었습니다. 감사!!!