Я настраиваю свое приложение на go и добавил поле «полное имя» для хранения в firebase и отображения на странице профиля пользователя. Я получаю сообщение об ошибке «PlatformException (ERROR_INVALID_EMAIL, адрес электронной почты неправильно отформатирован., Null)» при регистрации нового пользователя. Из других подобных сообщений я не могу найти никаких соглашений об именах, которые мешают мне.
Register.dart:
SizedBox(height: 20.0),
TextFormField(
decoration:
textInputDecoration.copyWith(hintText: 'Full Name'),
validator: (val) =>
val.isEmpty ? 'Enter a Full Name' : null,
onChanged: (val) {
setState(() => fullname = val);
}),
SizedBox(height: 20.0),
TextFormField(
decoration:
textInputDecoration.copyWith(hintText: 'Email'),
validator: (val) =>
val.isEmpty ? 'Enter an email' : null,
onChanged: (val) {
setState(() => email = val);
}),
SizedBox(height: 20.0),
TextFormField(
decoration:
textInputDecoration.copyWith(hintText: 'Password'),
obscureText: true,
validator: (val) => val.length < 6
? 'Enter a password 6+ chars long'
: null,
onChanged: (val) {
setState(() => password = val);
}),
SizedBox(height: 20.0),
RaisedButton(
color: Colors.blue[400],
child: Text(
'Register',
style: TextStyle(color: Colors.white),
),
onPressed: () async {
if (_formKey.currentState.validate()) {
setState(() => loading = true);
dynamic result =
await _auth.registerWithEmailAndPassword(
fullname, email, password);
if (result == null) {
setState(() {
error = 'please supply a valid email';
loading = false;
});
}
}
}),
auth.dart
Future registerWithEmailAndPassword(String email, String password, String fullname) async {
try {
AuthResult result = await _auth.createUserWithEmailAndPassword(
email: email, password: password);
FirebaseUser user = result.user;
return _userFromFirebaseUser(user);
} catch (e) {
print(e.toString());
return null;
}
}