首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电子邮件地址的格式很差--颤振式防火墙。

电子邮件地址的格式很差--颤振式防火墙。
EN

Stack Overflow用户
提问于 2022-05-02 06:19:18
回答 3查看 459关注 0票数 0

FirebaseAuthException (firebase_auth/无效)-电子邮件-电子邮件地址格式错误

当我使用颤振防火墙的电子邮件密码时,它会显示电子邮件输入的格式很差。当身份验证过程中存在任何问题时,也会将名称和车辆号传递给数据库。为什么会发生。如果有人能帮我找出问题就帮帮我

代码语言:javascript
运行
复制
    MaterialButton(
                              shape: RoundedRectangleBorder(
                                  borderRadius:
                                      BorderRadius.all(Radius.circular(20.0))),
                              elevation: 5.0,
                              height: 40,
                              onPressed: () {
                                setState(() {
                                  showProgress = true;
                                });
                                signUp(
                                    emailController.text,
                                    passwordController.text,
                                    role,
                                    vehicleNo.text,
                                    name.text);
                              },
                              child: Text(
                                "Register",
                                style: TextStyle(
                                  fontSize: 20,
                                ),
                              ),
                              color: Colors.white,
                            )
                          ],
                        ),
                      ],
                    ),
                  ),
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

  void signUp(String name, String email, String password, String role,
      String vehicleNo) async {
    const CircularProgressIndicator();
    if (_formkey.currentState!.validate()) {
      await _auth
          .createUserWithEmailAndPassword(
              email: email.trim(), password: password.trim())
          .then(
            (value) => {
              postDetailsToFirestore(
                email,
                role,
                name,
                vehicleNo,
              ),
            },
          )
          .catchError((e) {
        print("its an error");
      });
    }
  }

  postDetailsToFirestore(
      String email, String role, String name, String vehicleNo) async {
    FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;
    User? user = _auth.currentUser;
    UserModel userModel = UserModel();
    userModel.email = email;
    userModel.name = name;
    userModel.vehicleNo = vehicleNo;
    userModel.uid = user!.uid;
    userModel.role = role;
    await firebaseFirestore
        .collection("users")
        .doc(user.uid)
        .set(userModel.toMap());

    Navigator.pushReplacement(
        context, MaterialPageRoute(builder: (context) => LoginScreen()));
  }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-05-02 14:28:34

你在打电话:

代码语言:javascript
运行
复制
signUp(
    emailController.text,
    passwordController.text,
    role,
    vehicleNo.text,
    name.text);

signUp的定义为:

代码语言:javascript
运行
复制
  void signUp(String name, String email, String password, String role,
  String vehicleNo) async {

因此,参数的顺序在两者之间是不同的,导致您使用password值作为电子邮件地址,role值作为密码调用Firebase。

要解决这个问题,可以按照signUp期望的顺序传递参数。

票数 0
EN

Stack Overflow用户

发布于 2022-05-02 06:41:01

当执行SignUp函数(在Material )时,变量是否按错误的顺序传递?

票数 1
EN

Stack Overflow用户

发布于 2022-05-02 06:45:42

它几乎总是跟在空格后面,试着:

代码语言:javascript
运行
复制
postDetailsToFirestore(
            email.trim(),
            role,
            name,
            vehicleNo,
          ),

或者,您也可以尝试硬编码正确的电子邮件地址,并检查问题是在逻辑上还是在UI中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72082981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档