![](/img/trans.png)
[英]I/flutter (16908): [firebase_auth/invalid-email] The email address is badly formatted
[英]The email address is badly formatted, [firebase_auth/invalid-email]
這是我的代碼..這運行成功,沒有錯誤,但是一旦我點擊注冊按鈕,它就會拋出錯誤。
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MaterialApp(
home: Homepage(),
routes: {
'/home':(context){
return Homepage();
},
'/first':(context){
return First_Page();
},
},
));
}
class Homepage extends StatefulWidget {
const Homepage({Key? key}) : super(key: key);
@override
_HomepageState createState() => _HomepageState();
}
class _HomepageState extends State<Homepage> {
final Future<FirebaseApp> _initialization = Firebase.initializeApp();
final _auth= FirebaseAuth.instance;
final _user=TextEditingController();
final _pass=TextEditingController();
String email='';
String password='';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.blue,
title: Text(
'Sign-Up',
),
centerTitle: true,
),
body: SingleChildScrollView(
child: Column(
children: [
Padding(
padding: EdgeInsets.only(top: 250),
),
Container(
child: TextFormField(
controller: _user,
decoration: InputDecoration(
hintText: "Email-id",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
)
),
),
),
SizedBox(height: 10,),
Container(
child: TextFormField(
controller: _pass,
decoration: InputDecoration(
hintText: "Password",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
)
),
),
),
FlatButton(
color: Colors.blue,
child: Text('Sign-up'),
onPressed: () async {
await Firebase.initializeApp();
email=_user.toString();
password=_pass.toString();
final newuser=await _auth.createUserWithEmailAndPassword(
email:email.trim(),
password:password.trim(),
);
if(newuser!=null){
Navigator.pushNamed(context, '/First_Page');
}
else print('Error');
},
),
],
),
),
);
}
}
這些是我得到的所有錯誤
E/flutter (10268): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception:
[firebase_auth/invalid-email] The email address is badly formatted.
E/flutter (10268): #0 MethodChannelFirebaseAuth.createUserWithEmailAndPassword
(package:firebase_auth_platform_interface/src/method_channel
/method_channel_firebase_auth.dart:272:7)
E/flutter (10268): <asynchronous suspension>
E/flutter (10268): #1 FirebaseAuth.createUserWithEmailAndPassword
(package:firebase_auth/src/firebase_auth.dart:238:7)
E/flutter (10268): <asynchronous suspension>
E/flutter (10268): #2 _HomepageState.build.<anonymous closure>
(package:firebase/main.dart:79:31)
E/flutter (10268): <asynchronous suspension>
E/flutter (10268):
在 firebase 身份驗證中,我已經啟用了 email 登錄方法,現在我沒有得到我錯誤的地方。 請告訴我。提前謝謝..
對於您正在使用的email
地址:
email=_user.toString();
_user
為:
final _user=TextEditingController()
因此,您在TextEditingController
上調用toString
,它為您提供了 controller 的調試表示。 如果您想要 controller 中的值,您需要使用:
email=_user.value;
要自己發現此類問題,我建議學習設置斷點並使用調試器。 如果您在_auth.createUserWithEmailAndPassword
(這是異常的來源)上設置斷點並在調試器中運行,您可以很容易地看到email
沒有您期望的值。 從那里應該可以追溯到值的來源,並查看TextEditingController
的文檔以查看正確的調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.