> ## Documentation Index
> Fetch the complete documentation index at: https://auth0-chore-gt-workflow.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Utilisez Auth0 Actions pour valider et stocker les données des champs personnalisés d’une page d’inscription Universal Login personnalisée.

# Utiliser Actions pour valider et stocker les données d’utilisateurs finaux recueillies au moyen des personnalisations du prompt d’inscription

Vous pouvez utiliser les [personnalisations du prompt d’inscription](/docs/fr-ca/customize/login-pages/universal-login/customize-signup-and-login-prompts) avec le trigger `pre-user-registration` pour ajouter à `user_metadata` les données fournies par l’utilisateur final (comme le numéro de téléphone ou l’emplacement d’un utilisateur) à partir du prompt d’inscription. Au besoin, vous pouvez aussi valider ces données et afficher une erreur de validation dans le prompt.

<h3 id="prerequisites">
  Prérequis
</h3>

* Le tenant a un [domaine personnalisé](/docs/fr-ca/customize/custom-domains) vérifié
* Le tenant a un [modèle de page](/docs/fr-ca/customize/login-pages/universal-login/customize-templates) configuré

<h3 id="add-a-field-to-the-signup-prompt">
  Ajouter un champ au prompt d’inscription
</h3>

Utilisez la [Management API](https://auth0.com/docs/api/management/v2/prompts/put-custom-text-by-language) pour insérer un champ personnalisé dans un prompt à l’aide de l’un des [points d’insertion](/docs/fr-ca/customize/login-pages/universal-login/customize-signup-and-login-prompts#-signup-prompt-entry-points). Cet exemple ajoute le contenu suivant au point d’insertion `ulp-container-form-content-start` :

```html lines theme={null}
<div class="ulp-field">
  <label for="first-name">First Name</label>
  <input type="text" name="ulp-first-name" id="first-name">
</div>
```

Le résultat est une section « Prénom » sur le prompt d’inscription :

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-chore-gt-workflow/docs/images/cdy7uua7fh8z/580LNGMxSkRlazJEdcVNpn/5fa98d4b414ac2133d1d6f4e327cea5a/Screenshot_2023-10-05_at_4.07.38_PM.png" alt="" />
</Frame>

<h3 id="create-an-action-in-the-pre-user-registration-trigger">
  Créer une Action dans le Trigger Pre-User Registration
</h3>

Vous pouvez créer une Action personnalisée de pré-enregistrement des utilisateurs en allant à [**Actions > Library > Build Custom**](https://manage.auth0.com/dashboard/us/dev-6endizjt/actions/library)**.**

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-chore-gt-workflow/docs/images/cdy7uua7fh8z/52VSznphe2TyoJQnAn4nQg/ed54ca48dea191916a3173b648463fd8/Create_Action_-_EN.png" alt="" />
</Frame>

Dans l’éditeur de code, mettez à jour le gestionnaire `onExecutePreUserRegistration` :

```js lines theme={null}
exports.onExecutePreUserRegistration = async (event, api) => {
  const firstName = event.request.body['ulp-first-name'];
  api.user.setUserMetadata("firstName", firstName);
};
```

Au besoin, vous pouvez valider les données saisies par l’utilisateur et renvoyer une erreur de validation à l’aide de la méthode `api.validation.error`, puis déployer l’action :

```js lines theme={null}
exports.onExecutePreUserRegistration = async (event, api) => {
  const firstName = event.request.body['ulp-first-name'];
  if(!firstName) {
    api.validation.error("invalid_payload", "Missing first name");
    return;
  }

  api.user.setUserMetadata("firstName", firstName);
};
```

<h3 id="add-the-action-to-the-flow">
  Ajouter l’action au flux
</h3>

Accédez à [**Actions > Flows > Pre User Registration > Add Action > Custom**](https://manage.auth0.com/dashboard/us/dev-6endizjt/actions/flows/pre-user-signup/), puis faites glisser votre nouvelle action dans le flux d’inscription et sélectionnez **Apply**.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-chore-gt-workflow/docs/images/cdy7uua7fh8z/5JmjwcdZCX7pDukNa90cgD/dae853b10cf4c41d2d3543a8e167aae7/3333.png" alt="" />
</Frame>

<h3 id="test-the-action">
  Testez l’Action
</h3>

Créez un compte dans votre flux de test et laissez le champ **Prénom** vide. Une erreur s’affichera à l’envoi :

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-chore-gt-workflow/docs/images/cdy7uua7fh8z/7qIWCsP8doFWPJGvMTNXJY/1225f9b3ff7ac01a7e9b59f03ca5e139/2024-01-31_16-10-10.png" alt="" />
</Frame>

Après avoir saisi un nom dans le champ **Prénom**, vous pourrez soumettre le formulaire :

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-chore-gt-workflow/docs/images/cdy7uua7fh8z/6TaK1VQyKGELMGmhuRIbVA/b453fe2eb97c95d92e4fbd68ce3cbd6a/2024-01-31_16-12-01.png" alt="" />
</Frame>

<h3 id="verify-that-the-data-was-saved-on-user_metadata">
  Vérifiez que les données ont bien été enregistrées dans user\_metadata
</h3>

Accédez à [**Gestion des utilisateurs > Utilisateurs**](https://manage.auth0.com/dashboard/us/dev-6endizjt/users), puis confirmez que les données ont bien été enregistrées dans l’onglet Détails :

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/auth0-chore-gt-workflow/docs/images/cdy7uua7fh8z/3x5lyrSJJgJQhbjsxoTmG6/033820476be7f67dc688da993fee7924/2024-01-31_16-13-35.png" alt="" />
</Frame>
