您好,我是新手,我正在制作一个社交媒体应用程序,用户可以在其中使用电子邮件和密码登录。我想知道如何显示用户登录错误,例如密码错误/电子邮件错误等。我正在使用Firebase作为应用程序的后端数据库
我已经成功创建了应用程序的登录和注册部分,但是无法显示其他错误。这是我的代码有人请帮助我
Future LogIn(BuildContext context) async {
FirebaseUser user = (await _Auth.signInWithEmailAndPassword(
email: getEmail(), password: getPass()))
.user;
try {
if (user.isEmailVerified) {
Navigator.pushNamed(context, HomeScreen.id);
//Navigator.pushNamed(context, HomeScreen.id);
ClearAllInfo();
} else {
user.sendEmailVerification();
Alert("EMAIL NOT VERIFIED").show(); //email not verified alert
}
} catch (e) {}
}
答案 0 :(得分:1)
documentation for signInWithEmailAndPassword
列出了所有可能的错误:
ERROR_INVALID_EMAIL
ERROR_WRONG_PASSWORD
ERROR_USER_NOT_FOUND
ERROR_USER_DISABLED
ERROR_TOO_MANY_REQUESTS
ERROR_OPERATION_NOT_ALLOWED
现在,您可以在try
-catch
中进行测试:
try {
FirebaseAuth.instance.signInWithEmailAndPassword(...); // Your signin call.
} on PlatformException catch (e) {
switch (e.code) {
case 'ERROR_WRONG_PASSWORD':
// Handle wrong password.
break;
// Add other cases.
default:
break;
}
}
请注意,我添加的catch
块仅捕获PlatformException
个。如果您希望看到其他异常,则可能需要添加另一个常规catch
块或on
特定异常。