94 votes

Validation des champs de texte dans Flutter

Je travaille sur Flutter TextField widget. Je veux afficher un message d'erreur sous le TextField si l'utilisateur ne remplit pas ce TextField . Je dois seulement utiliser TextField Widget pas TextFormField dans ce cas.

0 votes

0voto

Muhammad Mohsin Points 21

Pour la validation de TextFiled et TextFormFiled, vous pouvez utiliser cet exemple. J'espère que cela vous sera utile.

                   TextField(
                          enableInteractiveSelection: true,
                          autocorrect: false,
                          enableSuggestions: false,
                          toolbarOptions: ToolbarOptions(
                            copy: false,
                            paste: false,
                            cut: false,
                            selectAll: false,
                          ),
                          controller: _currentPasswordController,
                          obscureText: passwordVisible,
                          decoration: InputDecoration(
                            errorText: Validators.password(
                                _currentPasswordController.text),
                            filled: true,
                            fillColor: Colors.white,
                            contentPadding:
                                const EdgeInsets.fromLTRB(20, 24, 12, 16),
                            border: const OutlineInputBorder(
                                borderRadius:
                                    BorderRadius.all(Radius.circular(8.0))),
                            // filled: true,
                            labelText: 'Password',
                            hintText: 'Enter your password',
                            suffixIcon: GestureDetector(
                              onTap: () {
                                setState(() {
                                  passwordVisible = !passwordVisible;
                                });
                              },
                              child: Container(
                                  margin: const EdgeInsets.all(13),
                                  child: Icon(
                                      passwordVisible
                                          ? FontAwesomeIcons.eyeSlash
                                          : Icons.remove_red_eye_sharp,
                                      color: ColorUtils.primaryGrey,
                                      size: 25)),
                            ),
                          ),
                        ),

Code d'exemple de message de validation

static password(String? txt) {
if (txt == null || txt.isEmpty) {
  return "Invalid password!";
}
if (txt.length < 8) {
  return "Password must has 8 characters";
}
if (!txt.contains(RegExp(r'[A-Z]'))) {
  return "Password must has uppercase";
}
if (!txt.contains(RegExp(r'[0-9]'))) {
  return "Password must has digits";
}
if (!txt.contains(RegExp(r'[a-z]'))) {
  return "Password must has lowercase";
}
if (!txt.contains(RegExp(r'[#?!@$%^&*-]'))) {
  return "Password must has special characters";
} else
  return;

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X