Cómo detectar espacios en blanco en el campo de entrada flutter

Cómo detectar espacios en blanco en el campo de entrada flutter

He intentado detectar espacios en blanco en el campo de entrada de mi aplicación flutter. Creé un campo de entrada personalizado en el que tomo el controlador y lo valido. Puse todas las validaciones con éxito, pero tampoco puedo detectar espacios en blanco con expresiones regulares. No quiero recortar la cadena, solo quiero detectar y validar el mensaje de error del usuario si el usuario ha ingresado un espacio en blanco en el nombre de usuario. Aquí está mi código aunque no es necesario pero lo pongo de todos modos

InputText(
                                  onTap: () {
                                    FocusScopeNode currentFocus =
                                        FocusScope.of(context);

                                    if (!currentFocus.hasPrimaryFocus &&
                                        currentFocus.focusedChild != null) {
                                      FocusManager.instance.primaryFocus
                                          ?.unfocus();
                                    }
                                  },
                                  controller: userName,
                                  buttonText: "*Username",
                                ),

Validaciones:

  void vaildation() async {
    if (userName.text.isEmpty && email.text.isEmpty && password.text.isEmpty) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Please fill in fields to sign up"),
          duration: Duration(milliseconds: 600),
        ),
      );
    } else if (email.text.isEmpty) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Please enter an email"),
          duration: Duration(milliseconds: 600),
        ),
      );
    } else if (!regExp.hasMatch(email.text)) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Please enter valid email"),
          duration: Duration(milliseconds: 600),
        ),
      );
    } else if (password.text.isEmpty) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Please enter a password"),
          duration: Duration(milliseconds: 600),
        ),
      );
    } else if (phoneNumber.text.isEmpty) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Please enter your phone number"),
          duration: Duration(milliseconds: 600),
        ),
      );
    } else {
      submit();
    }
  }

Comprobación de validación:

AppButton(
                                  buttonText: "Sign up",
                                  onTap: () {
                                    vaildation();
                                  },
                                ),
Mostrar la mejor respuesta

Si desea restringir que el usuario ingrese 2 espacios, en lugar de agregar validación, puede agregar inputFormatters:<TextInputFormatter>[FilteringTextInputForma‌​tter.deny(RegExp(r"\‌​s\s"),),],

En su función de validación, no hay ningún lugar donde realmente intente validar el nombre de usuario. Agregue lo siguiente para comprobar si hay espacios en blanco en el nombre de usuario.

else if (RegExp(r"\s").hasMatch(username.text)) {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Please enter valid username"),
          duration: Duration(milliseconds: 600),
        ),
      );
    }

gracias hombre esto funciono