1

I have created a custom button widget in flutter called BottomButton. Since I feel that the implementation of the custom widget is not necessary for the question, I have simply omitted it.

    BottomButton(
        text: "Tap to Login",
        onPressed: () {
          errorMessage = LoginError.errorMessage;
          if (errorMessage != null) {
            SnackBar errorSnackBar = SnackBar(
                content: Text(
              LoginError.errorMessage,
              textAlign: TextAlign.center,
            ));
            setState() {
                errorMessage = null;
                LoginError.errorMessage = null;
            }
            Scaffold.of(context).showSnackBar(errorSnackBar);
          }
          loginWithEmailPassword();
        },
      )

In my application, after I call the Backend APi to authenticate a user, if there is an error authenticating the user I add it to LoginError.errorMessage. LoginError is a dart class and errorMessage is a static property of that class.

In the above code, what I am doing is upon tapping on my custom button widget to login the user, if there is an error, I am importing the error message I have added to the LoginError.errorMessage and displaying it on a SnackBar.

However if there is an error message, I reset the LoginError.errorMessage back to null and if the LoginError.errorMessage is null, I have written the code so that the SnackBar will not be shown. (The SnackBar is only shown if the LoginError.errorMessage is not null since I am doing an if check).

The current implementation shows error messages upon entering invalid credentials by the user. However if I enter correct credentials after entering the incorrect credentials and tapping on the custom Button widget once, the user is logged in, but the Invalid Credentials error is also show n on the snack bar.

I can not figure out why it is showing that incorrect credentials error on the Snackbar when I am trying to login with valid credentials after typing incorrect credentials once.

gfit21x
  • 141
  • 9

0 Answers0