Travailler avec des formulaires dans Flutter est une tâche essentielle pour de nombreuses applications, car ils constituent le principal moyen de collecter des informations sur les utilisateurs. Depuis Flutter 1.17, Flutter offre un moyen puissant et flexible de gérer les formulaires, y compris la validation, la gestion des événements et l'intégration avec d'autres parties de Flutter.
Pour commencer à travailler avec des formulaires dans Flutter, vous devez comprendre les bases des widgets de formulaire. Dans Flutter, un formulaire est représenté par le widget Form
qui contient un ou plusieurs widgets FormField
.
Les widgets FormField
constituent la base de la plupart des widgets de saisie de données dans Flutter. Ils gèrent la validation des données, la gestion des événements et l'intégration avec le widget Form
. Certains des widgets de saisie de données les plus courants basés sur FormField
incluent TextFormField
, DropdownButtonFormField
et CheckboxListTile
.
Pour créer un formulaire dans Flutter, vous créez d'abord une instance du widget Form
, puis ajoutez les widgets FormField
dont vous avez besoin. Chaque FormField
possède un validateur
qui est une fonction qui prend la valeur actuelle du champ et renvoie une chaîne d'erreur si la valeur n'est pas valide, ou null si la valeur est valide. .
De plus, chaque FormField
possède un onSaved
qui est une fonction appelée lorsque le formulaire est enregistré. Cette fonction prend la valeur actuelle du champ et peut être utilisée pour enregistrer la valeur quelque part, comme une base de données ou le cloud.
Pour enregistrer un formulaire, vous appelez la méthode save
sur le Form
. Cela amène Form
à appeler onSaved
sur chaque FormField
dans l'ordre. Si un validateur
renvoie une chaîne d'erreur, le Formulaire
ne sera pas enregistré et l'erreur sera affichée à l'utilisateur.
Parlons maintenant de la façon de tester les formulaires dans Flutter. Flutter propose deux façons de tester votre code : les tests unitaires et les tests d'intégration.
Les tests unitaires sont utilisés pour tester une seule fonction ou méthode. Ils sont rapides à écrire et à exécuter, et ils sont parfaits pour tester la logique métier. Dans le contexte d'un formulaire, vous pouvez écrire des tests unitaires pour ses validateurs et ses fonctions onSaved.
Pour écrire un test unitaire dans Flutter, vous utilisez le package test
. Tout d’abord, vous créez une fonction de test à laquelle est attribué un nom et un rôle. La fonction de test doit contenir du code qui appelle la fonction ou la méthode que vous testez et vérifie que le résultat correspond à ce que vous attendez.
Les tests d'intégration sont utilisés pour tester la manière dont les différentes parties de votre application fonctionnent ensemble. Ils sont plus lents à écrire et à exécuter que les tests unitaires, mais ils sont parfaits pour tester les fonctionnalités de l'utilisateur final. Dans le contexte d'un formulaire, vous pouvez écrire des tests d'intégration qui remplissent le formulaire, appuyer sur le bouton Soumettre et vérifier que le résultat correspond à ce que vous attendez.
Pour écrire un test d'intégration dans Flutter, vous utilisez le package flutter_test
. Tout d’abord, vous créez une fonction de test à laquelle est attribué un nom et un rôle. La fonction de test doit contenir du code qui interagit avec l'application, comme remplir un formulaire et appuyer sur un bouton, puis vérifier que le résultat correspond à ce que vous attendez.
En résumé, travailler avec des formulaires dans Flutter est une tâche essentielle pour de nombreuses applications. Flutter fournit un moyen puissant et flexible de gérer les formulaires, y compris la validation, la gestion des événements et l'intégration avec d'autres parties de Flutter. De plus, Flutter propose deux façons de tester votre code : les tests unitaires et les tests d'intégration.