Как я могу отображать сообщения об ошибках с firebase 9

# #firebase #firebase-authentication

Вопрос:

Следующий код работает, и я получаю сообщение об ошибке, если возникает проблема. Обратите внимание, это код vue. Отсюда и .value

 import { getAuth, createUserWithEmailAndPassword } from 'firebase/auth'

const register = async () => {
  loading.value = true
  let response
  try {
    const auth = getAuth()
    response = await createUserWithEmailAndPassword(
      auth,
      form.value.email,
      form.value.password
    )
  } catch (err) {
    console.log(err.message)
  }
  loading.value = false

  return response
}
 

Однако вот пример того, что error.message возвращает:

 Firebase: Password should be at least 6 characters (auth/weak-password).
 

Мой вопрос. Есть ли способ вернуть чистое сообщение? Под этим я подразумеваю без Firebase: и. (auth/weak-password)

Или я что-то здесь упускаю? Есть ли другой способ, которым я должен справиться с объектом ошибки Firebases? Возможно, я должен сам взять error.code и написать пользовательское сообщение для каждого сценария?

Дайте мне знать, если потребуется какая-либо другая информация, и я обновлю вопрос 🙂

Ответ №1:

 import { getAuth, createUserWithEmailAndPassword } from 'firebase/auth'

const register = async () => {
  loading.value = true
  let response
  try {
   if(form.value.password.length <= 6 ){
     return "Password should be at least 6 characters (auth/weak-password)"
   }

    const auth = getAuth()
    response = await createUserWithEmailAndPassword(
      auth,
      form.value.email,
      form.value.password
    )
  } catch (err) {
    console.log(err.message)
  }
  loading.value = false

  return response
}
 

Комментарии:

1. Это просто проверка интерфейса, а не настоящее решение. Это означало бы, что я должен сам отлавливать все возможные ошибки на интерфейсе, и зачем это делать, если firebase все равно выдает ответ с ошибками?