Supabase注册重复邮箱未返回错误,如何实现类似Firebase的错误反馈?
解决Supabase注册时错误信息不明确的问题
Supabase Auth的错误对象本身包含错误码和描述信息,只是需要正确访问它的属性,而非直接打印整个error对象(部分环境下直接打印仅显示对象引用,不会展开内部属性)。
正确处理错误的方式
- 先判断错误是否存在:只有当
error不为null时,再读取其属性 - 访问错误对象的具体字段:Supabase的Auth错误对象包含
code(标准化错误码)、message(友好描述)、status(HTTP状态码)等核心属性
示例代码
try { const { data, error } = await supabase.auth.signUp({ email: userEmail, password: userPassword }); if (error) { // 打印结构化错误细节 console.log('错误码:', error.code); console.log('错误描述:', error.message); console.log('HTTP状态码:', error.status); } else { // 注册成功逻辑 console.log('注册成功,用户数据:', data); } } catch (err) { // 捕获其他异步请求异常 console.error('请求异常:', err); }
常见错误码示例
auth/email-already-exists: 邮箱已被注册auth/invalid-email: 邮箱格式无效auth/weak-password: 密码强度不足
通过这种方式,你就能获取到和Firebase类似的结构化错误信息,便于根据不同错误码做针对性的提示或业务处理。
内容的提问来源于stack exchange,提问作者JoyShaheb
相关产品推荐
相关产品推荐

