颤振Firebaseauth异常错误“;“电子邮件格式不正确”;
拜托,我需要帮助。 遵循一个教程,所有东西看起来都不错,但每当我尝试注册时,我的应用程序就会冻结并抛出这个错误 特别是在注册方法上 我需要这方面的帮助才能继续前进颤振Firebaseauth异常错误“;“电子邮件格式不正确”;,firebase,flutter,exception,firebase-authentication,e-commerce,Firebase,Flutter,Exception,Firebase Authentication,E Commerce,拜托,我需要帮助。 遵循一个教程,所有东西看起来都不错,但每当我尝试注册时,我的应用程序就会冻结并抛出这个错误 特别是在注册方法上 我需要这方面的帮助才能继续前进 enum Status { Uninitialized, Authenticated, Authenticating, Unauthenticated } class UserProvider with ChangeNotifier { FirebaseAuth _auth; User _user; Status _st
enum Status { Uninitialized, Authenticated, Authenticating, Unauthenticated }
class UserProvider with ChangeNotifier {
FirebaseAuth _auth;
User _user;
Status _status = Status.Uninitialized;
Status get status => _status;
User get user => _user;
UserServices _userServices = UserServices();
UserProvider.initialize() : _auth = FirebaseAuth.instance {
_auth.authStateChanges().listen(_onStateChanged);
}
Future<bool> signUp(
String name, String phone, String email, String password) async {
try {
_status = Status.Authenticating;
notifyListeners();
await _auth
.createUserWithEmailAndPassword(
email: email.trim(), password: password)
.then((user) {
Map<String, dynamic> values = {
"name": name,
"email": email,
"userId": user.user.uid
};
_userServices.createUser(values);
});
return true;
} catch (e) {
_status = Status.Unauthenticated;
notifyListeners();
print(e.toString());
return false;
}
}
Future<void> _onStateChanged(User event) async {
if (user == null) {
_status = Status.Unauthenticated;
} else {
_user = user;
_status = Status.Authenticated;
}
notifyListeners();
}
}
enum状态{未初始化、已验证、正在验证、未验证}
使用ChangeNotifier类UserProvider{
FirebaseAuth_auth;
用户(u User),;
状态_Status=状态。未初始化;
状态获取状态=>\u状态;
用户获取用户=>\u用户;
UserServices _UserServices=UserServices();
UserProvider.initialize():_auth=FirebaseAuth.instance{
_auth.authStateChanges().listen(\u onStateChanged);
}
未来注册(
字符串名称、字符串电话、字符串电子邮件、字符串密码)异步{
试一试{
_状态=状态。身份验证;
notifyListeners();
等待授权
.createUserWithEmailAndPassword(
电子邮件:email.trim(),密码:password)
.然后((用户){
映射值={
“姓名”:姓名,
“电子邮件”:电子邮件,
“userId”:user.user.uid
};
_userServices.createUser(值);
});
返回true;
}捕获(e){
_状态=状态。未经验证;
notifyListeners();
打印(如toString());
返回false;
}
}
未来状态更改(用户事件)异步{
if(user==null){
_状态=状态。未经验证;
}否则{
_用户=用户;
_status=status.Authenticated;
}
notifyListeners();
}
}
出现“电子邮件格式不正确”,因为电子邮件输入不包括@gmail.com等内容。也许您可以提供一些代码以了解更多详细信息。只需打印emailid和emailid.trim()检查它是否正确我修复了它,问题是字符串元素的顺序(电子邮件、姓名、电话、密码),注册页面上的顺序必须与提供商页面上的顺序相同
这就是为什么它会将电话号码作为电子邮件,而电子邮件总是会出现错误。请添加您收到的错误图像。图像已经添加。请确保在调用
注册
功能时传递了正确的参数。每当我尝试注册时,总会有一个@gmai.com,应用程序刚冻结,然后错误就出现在我的脑海中。你能提供更多关于文本字段的详细信息吗?