Vous avez créé votre formulaire dans le Dashboard, il est temps à présent de comprendre comment intercepter et utiliser les données qui seront soumises par les utilisateurs.

👉 Si vous cherchez plus d'informations sur la création d'un formulaire, n'hésitez pas à consulter notre article Comment créer un formulaire et l'utiliser dans un scenario ?

Pour des raisons de sécurité, les données récoltées dans les formulaires ne sont pas enregistrées mais envoyées dans un événement Javascript. Pour récupérer la donnée, il est donc nécessaire d'implémenter cette récolte techniquement.

Utiliser l'événement disponible "formSubmit"

La sauvegarde et l'envoi de la donnée doivent être intégrés de votre côté grâce à un événement disponible dans notre SDK.

Voici le détail de cet événement :

📌 Script poool - version antérieure (poool Legacy)

poool('event', 'onFormSubmit', function(event) {
  console.log('Formulaire ' + event.name + ' envoyé !');

  // Si nécessaire, vous pouvez passer les champs du formulaire en revue pour effectuer vos propres vérifications.

  // Si un tableau contenant les identifiants des champs invalides est retourné, le paywall affichera la liste des champs en erreur.

  // Si le tableau est retourné vide ou si rien n'est retourné, l'article sera débloqué.

  var invalid = [];

  if (event.fields.password !== event.fields.passwordRepeat) {
    invalid.push('password');
    invalid.push('passwordRepeat');
  }

  return invalid;
});

Pour plus d'informations, n'hésitez pas à consulter la documentation technique sur l'événement onFormSubmit.

📌 Script poool - nouvelle version

access.on('formSubmit', event => {
console.log('Formulaire ' + event.name + ' envoyé !');

// Si nécessaire, vous pouvez passer les champs du formulaire en revue pour effectuer vos propres vérifications.

// Si un tableau contenant les identifiants des champs invalides est retourné, le paywall affichera la liste des champs en erreur.

// Si rien n'est retourné, l'article sera débloqué.

var invalid = [];

if (event.fields.password !== event.fields.passwordRepeat) {
invalid.push('password');
invalid.push('passwordRepeat');
}

// Vous pouvez également renvoyer votre propre message d'erreur

if (!events.fields.address) {
invalid.push({ fieldKey: 'address', message: 'Votre adresse est vide. Veuillez la remplir.'});
}
if (invalid.length) {
return invalid;
}
});


N'hésitez pas à consulter la documentation technique sur l'événement formSubmit pour avoir une vision complète de ce qu'il est possible de mettre en place.

Spécificités de l'événement "formSubmit"

Comme vous pouvez le remarquer, cet événement fonctionne selon deux principes :

  • l'argument "event" 

  • le tableau "invalid"


L'argument "event" va contenir l'ensemble des valeurs passées par l'utilisateur. Les clés à aller chercher correspondent aux différents "Noms de variables" renseignés lors de la création du formulaire.

Les champs de type email et date sont contrôlés avant envoi du formulaire.

Pour le reste, vous pouvez de votre côté effectuer votre propre logique dans l'événement et renvoyer le tableau "invalid" en cas d'erreurs afin de demander à l'utilisateur de corriger.

Des doutes, des questions ? N'hésitez pas à nous contacter via Intercom !

Avez-vous trouvé votre réponse?