我已经开发了一个登录页面。但是我不知道如何在flutter上捕获firebase auth异常并显示它们。我想显示不存在的电子邮件,密码不匹配。
这是我的代码:
Future<void> login() async{
final formState = _formkey.currentState;
if(formState.validate()){
formState.save();
try{
final FirebaseUser user = (await FirebaseAuth.instance.signInWithEmailAndPassword(email: _username, password: _password)).user;
Navigator.push(context, MaterialPageRoute(builder: (context) => Admin()));
}catch(e){
print(e.message);
}
有人可以帮我找到一种验证登录名的方法吗。
答案 0 :(得分:2)
您可以使用Toast
来显示错误:
# add this line to your dependencies
toast: ^0.1.5
然后在dart文件中将其导入:
import 'package:toast/toast.dart';
然后在陷阱内:
}catch(e){
print(e.message);
Toast.show(e.message, context, duration: Toast.LENGTH_SHORT, gravity: Toast.BOTTOM);
}
https://pub.dev/packages/toast
您不必检查电子邮件是否正确,signInWithEmailAndPassword
已经为您完成了该操作,如果身份验证错误,则会返回错误。
答案 1 :(得分:0)
如果您只想显示消息,则可以只将e.message
中的catch block
显示给用户。