Как отобразить сообщение об ошибке в поле формы электронной почты, если у пользователей Firebase существует такая же электронная почта - PullRequest
0 голосов
/ 10 июля 2019

У меня есть форма с электронной почтой. TextFormField Я проверяю введенные пользователем данные перед их регистрацией и показываю ошибки соответственно, так как все поля действительны, вызывая функцию для регистрации с помощью firebase, и если у пользователей существует одно и то же электронное письмо, оно дает мнеошибка "ERROR_EMAIL_ALREADY_IN_USE", я просто хочу показать сообщение ниже электронной почты TextFormField, что это письмо уже используется.

onPressed: () {
    if (_formKey.currentState.validate()) {
        print('form is valid');
        AuthService()
            .signUp(emailController.text,
                passwordFirstField.text).catchError((err) => {

            })
            .then((userId) {
                AuthService().signUpAsAClient(
                    userId, usernameController.text);
            });
        Navigator.of(context).pushNamed(
            '/professionals_list',
        );
    } else {
        print('form is not valid');
    }
}

необходимо показать ошибку, что электронная почта уже используется из firebase.

1 Ответ

0 голосов
/ 10 июля 2019

Определить переменную String в виджете следующим образом:

String _errorEmail;

Вот код текстового поля

TextField(
                        controller: _tecEmail,
                        style: TextStyle(color: Colors.white, fontSize: 18.0),
                        decoration: InputDecoration(
                            errorText: _errorEmail,
                            errorStyle:
                                TextStyle(color: Colors.red, fontSize: 14.0),
                            labelText: "Email Address",
                            labelStyle: TextStyle(
                                fontSize: 18.0, color: Colors.white70),
                            enabledBorder: UnderlineInputBorder(
                                borderSide: BorderSide(color: Colors.white)),
                            focusedBorder: UnderlineInputBorder(
                              borderSide:
                                  BorderSide(color: Constants.appThemeColor),
                            ),
                            contentPadding: const EdgeInsets.only(
                                left: 10, right: 10, top: 10, bottom: 10)),
                        keyboardType: TextInputType.emailAddress,
                      ),

добавить сообщение об ошибке, если электронное письмо уже существует

setState(() {
      if (//condition or check if email exist) {
      _errorEmail = "emailid already exist";
      return;
    }
    _errorEmail = null;
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...