Formulaires React Native : champs, validation et clavier

Guide des formulaires et de la validation React Native

Formulaires React Native : champs contrôlés et validation | We.Inc

Créez un formulaire React Native avec des TextInput contrôlés, une seule fonction validate, des messages d'erreur sous chaque champ et la gestion du clavier. Testez la validation en direct dans votre navigateur.

Un formulaire React Native fiable repose sur trois éléments : des TextInput contrôlés par le state, une seule fonction validate qui renvoie une erreur par champ, et la gestion du clavier. Affichez chaque message une fois que la personne a quitté le champ ou appuyé sur envoyer. Enveloppez l'écran dans un KeyboardAvoidingView et définissez keyboardShouldPersistTaps="handled" sur la ScrollView pour que le bouton d'envoi reste accessible.

Les éléments d'un formulaire React Native

Les règles de validation de cette page sont du JavaScript simple : l'aperçu ci-dessous exécute donc exactement la fonction que vous colleriez dans votre écran React Native. Remplissez les champs, quittez-les et appuyez sur Créer un compte pour voir chaque message apparaître puis disparaître.

Questions fréquentes

Ai-je besoin d'une librairie de formulaires en React Native ?

Non. Quelques champs fonctionnent bien avec useState et une fonction validate comme celle de cette page. Les librairies aident quand un formulaire a beaucoup de champs, des tableaux imbriqués ou des vérifications asynchrones, et React Hook Form indique fonctionner sur le web comme dans React Native.

Comment empêcher le clavier de masquer mes champs ?

Enveloppez le formulaire dans un KeyboardAvoidingView. Il ajuste sa hauteur, sa position ou son padding inférieur en fonction du clavier ; behavior="padding" est le choix courant sur iOS. keyboardVerticalOffset tient compte d'un en-tête au-dessus de la vue et vaut 0 par défaut.

Pourquoi mon bouton d'envoi demande-t-il deux appuis ?

La prop keyboardShouldPersistTaps de la ScrollView vaut "never" par défaut, donc le premier appui ne fait que fermer le clavier. Réglez-la sur "handled" et le bouton reçoit l'appui immédiatement.

Comment fermer le clavier après l'envoi ?

Appelez Keyboard.dismiss(), qui, selon la documentation, ferme le clavier actif et retire le focus.

Quand afficher une erreur

Rendre les erreurs accessibles

Code de formulaire à copier

La fonction validate

Du JavaScript simple sans import React Native : elle s'exécute dans les tests, dans l'aperçu web et sur un serveur.

Écran d'inscription avec champs touchés et gestion du clavier

Un objet values, un objet touched, et un composant Field qui n'affiche son erreur qu'au bon moment.

Saisissez votre nom.

Saisissez votre adresse e-mail.

Il manque un @ ou un domaine à cette adresse e-mail.

Utilisez au moins 8 caractères.

Les deux mots de passe ne correspondent pas.

Aperçu de la validation

Les vérifications utilisent la fonction validate du code ci-dessous. Les messages apparaissent après avoir quitté un champ ou appuyé sur le bouton.

Nom

Mot de passe

Confirmer le mot de passe

Créer un compte

Tous les champs sont valides. Une vraie app enverrait maintenant les valeurs.

{n} champ(s) à corriger.

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site