Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
颤振Firebaseauth异常错误“;“电子邮件格式不正确”;_Firebase_Flutter_Exception_Firebase Authentication_E Commerce - Fatal编程技术网

颤振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,应用程序刚冻结,然后错误就出现在我的脑海中。你能提供更多关于文本字段的详细信息吗?