# Règles de validation

### Introduction

Garantir la collecte de données précise et complète est essentiel pour maintenir une base de données de haute qualité et améliorer l'expérience utilisateur. Dans The Wallet Crew, le formulaire d'inscription prend en charge un puissant système de validation au niveau des champs pour aider les administrateurs à appliquer des normes de données. Cet article décrit comment les données du formulaire sont validées et les règles par défaut disponibles.

Comprendre ces règles aidera les utilisateurs techniques et métier à configurer des formulaires qui capturent les bonnes informations dans le bon format, minimisant les erreurs et améliorant l'utilisabilité des données sur la plateforme.

### Explication principale

La validation des champs dans The Wallet Crew se produit au niveau de chaque champ individuel. Chaque champ peut être configuré avec des règles spécifiques pour s'assurer que les données saisies sont exactes et répondent aux exigences métier.

Voici les règles de validation disponibles :

#### Obligatoire

* Indique si le champ doit être rempli.
* Pour les cases à cocher et les interrupteurs, cela signifie que la case doit être cochée.

#### `minLength`

* Définit le **nombre minimum de caractères** requis pour la valeur d'un champ.
* Utile pour des champs comme les noms ou les numéros d'identification.

#### `maxLength`

* Fixe le **nombre maximum de caractères** autorisés dans le champ.
* Aide à prévenir des saisies excessivement longues qui pourraient perturber la mise en page ou le stockage.

#### `email`

* Combine deux niveaux de validation :
  1. **Vérification par expression régulière**: Utilise la regex par défaut suivante pour valider le format :

     ```js
     /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/
     ```

     Cette regex peut être **remplacée** par une personnalisée si nécessaire.
  2. **Vérification du domaine via DNS**: The Wallet Crew vérifie que le domaine de l'email accepte le courrier en recherchant des **enregistrements MX**.

#### `phone`

* Valide les numéros de téléphone en utilisant le [composant react-phone-number-input](https://catamphetamine.gitlab.io/react-phone-number-input/) .
* Ceci est basé sur la bibliothèque de validation des numéros de téléphone internationaux de Google.
* Garantit que les numéros sont correctement formatés et que les indicatifs pays sont reconnus.

#### `expression`

* Permet aux administrateurs de définir une **expression régulière personnalisée** pour valider le champ.
* Option flexible pour appliquer des formats de données spécifiques (par ex. codes postaux, identifiants).

#### `égalité`

* Compare la valeur du champ à :
  * La valeur d'un autre champ (par ex. "Confirmer le mot de passe")
  * Une valeur constante statique
* Assure la cohérence et la correspondance lorsque nécessaire.

### Conseils et bonnes pratiques

* **Utilisation `obligatoire` avec parcimonie**: Rendre trop de champs obligatoires peut nuire à l'expérience utilisateur.
* **Valider tôt**: Implémentez une validation côté client pour un retour plus rapide, et renforcez toujours par des vérifications côté serveur.
* **Personnaliser les regex avec prudence**: Ne remplacez la regex d'email par défaut que si vous comprenez pleinement les implications.
* **Utilisation `égalité` pour les champs sensibles**: Parfait pour valider des saisies répétées comme les mots de passe ou les emails.

### Conclusion

Le système de validation des formulaires de The Wallet Crew offre un moyen flexible et puissant d'assurer la qualité des données. En tirant parti des règles de validation par défaut, les administrateurs peuvent créer des formulaires robustes qui aident à maintenir des ensembles de données propres et fiables tout en améliorant l'expérience utilisateur. Pour des besoins avancés, les expressions personnalisées et les remplacements de règles offrent encore plus de contrôle.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thewalletcrew.io/docs/fr/inscrire/enrolment-form/validation-rules.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
