RAHUL KUNDU
RAHUL KUNDU

Reputation: 891

Firebase UpdateEmail returning updateEmail failed: First argument "email" must be a valid string

I have a email field in my vue js componont. When the component loads its taking the email value what i have added during the registration time. But when I tried to update my email to a new emai using updateEmail its retruning an error code: "auth/argument-error", message: "updateEmail failed: First argument "email" must be a valid string.".

    <template>
    <div>
    <form @submit.prevent="onUpdateProfile">
    <input type="email" v-model="profile.email" placeholder="Enter Your Email..." class="from-input" />
    <button type="submit">submit</button>
    </form>
    </div>
    </template>

    data() {
        return {
          profile: {
            email: ""
          }
        };
      },


    methods:{
    onUpdateProfile() {
          firebase.auth().onAuthStateChanged(user => {
            if (user) {
                user.updateEmail({
                  email: this.profile.email
                })
                .then(() => {})
                .catch(error => {
                  console.log(error);
                });
            }
       }
    },

created() {
  firebase.auth().onAuthStateChanged(user => {
     if (user) {
       this.profile.email = user.email;
     }
  }
}

Upvotes: 0

Views: 349

Answers (1)

Fulya D.
Fulya D.

Reputation: 592

can you try changing this

user.updateEmail({
                  email: this.profile.email
                })

to this?

user.updateEmail(this.profile.email)

Upvotes: 2

Related Questions