我收到“顫振:[firebase_auth/missing-email] 必須提供電子郵件地址。” 當我注冊。使用 [email protected]
和“顫振:[firebase_auth/invalid-email] 電子郵件地址格式錯誤。” 當我使用注冊帳戶登錄時。(以前有一個電子郵件,也通過 firebase 網站創建了一個帳戶,兩者都獲得相同的訊息)
我認為 trim() 是一種可能的解決方案,但不知道如何實作它。我確保沒有空格...你能告訴我我的代碼有什么問題或遺漏了嗎?
這是我的注冊頁面上的一些代碼(在我的登錄頁面上看起來幾乎相同),如果您需要查看更多資訊,請告訴我
String email = '';
String password = '';
String error = '';
TextFormField(
textInputAction: TextInputAction.next,
style: TextStyle(color: Colors.white),
decoration: textInputDecoration.copyWith(
hintText: ('Enter Email'),
hintStyle: TextStyle(color: Colors.white),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
),
keyboardType: TextInputType.emailAddress,
validator: (value) {
if (value!.isEmpty) {
return 'Email is required';
}
if (value.isNotEmpty) {
final RegExp regex = RegExp(
r'^(([^<>()[\]\\.,;:\s@\"] (\.[^<>()[\]\\.,;:\s@\"] )*)|(\". \"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9] \.) [a-zA-Z]{2,}))$');
if (!regex.hasMatch(value))
return 'Enter a valid email';
else
return null;
} else {
return 'Enter a valid email';
}
},
),
ElevatedButton(
child: Text(
'Register',
style: TextStyle(color: Colors.white),
),
style: ElevatedButton.styleFrom(
primary: Color(0xFF162242)),
onPressed: () async {
if (_formKey.currentState!.validate()) {
setState(() => loading = true);
dynamic result =
await _auth.registerWithEmailAndPassword(
email, password);
if (result == null) {
setState(() {
error = 'please enter valid email';
loading = false;
});
}
}
}),
uj5u.com熱心網友回復:
等等,我想知道你到底在做什么!
您已將電子郵件和密碼明確定義為空字串。
String email = '';
String password = '';
String error = '';
并將這些空字串傳遞給_auth.registerWithEmailAndPassword(email, password)?
解決方案是使用 TextEditingController 物件并從輸入欄位中收集值,然后將它們傳遞給注冊方法。
final emailCtrl =TextEditingController();
final passCtrl = TextEditingController();
...
TextFormField(
controller: emailCtrl,
....
),
TextFormField(
controller: passCtrl,
....
),
...
ElevatedButton(
onPressed: () async {
String email = emailCtrl.text.trim();
String pass = passCtrl.text.trim();
...
dynamic result = await _auth.registerWithEmailAndPassword(email, password);
...
}
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/328965.html
上一篇:JWT注冊問題
下一篇:DeribitFIXAPI登錄
