#flutter #flutter-dependencies
#флаттер #flutter-зависимости
Вопрос:
Я создаю приложение для блога, при создании нового пользователя я получил следующую ошибку.
I / flutter (1603): ‘file:///C:/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.8.4 5/lib/src/firebase_auth.dart’ : Неудачное утверждение: строка 103 поз 12: «электронная почта ! = null»: неверно.
Приведенное выше сообщение отображается в терминале, когда я когда-либо хотел создать нового пользователя в своем приложении flutter.
Ниже приведен код для моей страницы создания учетной записи, где я использовал функцию UserManagement () для хранения пользовательских данных в firestore.
Padding(
padding:
const EdgeInsets.fromLTRB(25.0, 10.0, 25.0, 10.0),
child: TextFormField(
decoration: InputDecoration(
labelText: "E-mail",
border: OutlineInputBorder(
gapPadding: 10.0,
borderRadius: BorderRadius.circular(30.0))),
onSaved: (value) {
setState(() {
_email = value;
});
},),
),
Padding(
padding:
const EdgeInsets.fromLTRB(25.0, 10.0, 25.0, 10.0),
child: TextFormField(
obscureText: true,
decoration: InputDecoration(
labelText: "Password",
border: OutlineInputBorder(
gapPadding: 10.0,
borderRadius: BorderRadius.circular(30.0))),
onSaved: (value) {
setState(() {
_password = value;
});
},
),
),
Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
StreamBuilder<Object>(
stream: null,
builder: (context, snapshot) {
return SizedBox(
width: 367.0,
height: 60.0,
// Padding(
// padding: const EdgeInsets.all(8.0),
child: RaisedButton(
child: Text("Next",
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w300)),
color: Colors.black54,
onPressed: () {
if (_formkey.currentState
.validate()) {
FirebaseAuth.instance.createUserWithEmailAndPassword(
email: _email,
password: _password,
).then((signedInUser){
UserManagement().storeNewUser(signedInUser, context);
}).catchError((e){
print(e);
});
Вот код для функции UserManagement()
class UserManagement {
storeNewUser(user, context) {
Firestore.instance.collection('/users').add({
'email': user.email,
'uid': user.uid,
}).then((value) {
StreamBuilder<Object>(
stream: null,
builder: (context, snapshot) {
Navigator.of(context).pop();
Navigator.push(
context, MaterialPageRoute(builder: (context) => Desc()));
});
}).catchError((e) {
print(e);
});
}
}
Комментарии:
1. Вы перенесли свои поля в форму? flutter.dev/docs/cookbook/forms/validation