Démarrage rapide Nuxt
Ajoutez un formulaire de contact fonctionnel à votre application Nuxt. Vous écrivez le formulaire, et Formerie le vérifie, le conserve et vous l’envoie par courriel.
Installer
npm install @formerie/nuxtpnpm add @formerie/nuxtyarn add @formerie/nuxtbun add @formerie/nuxtLes paquets Formerie sont en alpha, donc leurs API peuvent encore changer d’une version à l’autre.
Ajouter le formulaire
Enregistrez ce fichier sous app/components/ContactForm.vue.
<script setup lang="ts">
import { useFormerieSubmit } from "@formerie/nuxt";
const { submit, isSubmitting, result } = useFormerieSubmit({ workspace: "acme", form: "contact" });
function onSubmit(event: Event) {
submit({ fields: Object.fromEntries(new FormData(event.target as HTMLFormElement)) });
}
</script>
<template>
<form @submit.prevent="onSubmit">
<input name="name" placeholder="Name" required />
<input name="email" type="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required></textarea>
<button :disabled="isSubmitting">Send</button>
<p v-if="result?.ok === true">Thanks!</p>
<p v-else-if="result?.ok === false">{{ result.error.message }}</p>
</form>
</template>Le name de chaque champ de saisie correspond au champ qu’il remplit dans Formerie.
Configurer le formulaire dans l’application
- Ouvrez app.formerie.com et créez un formulaire nommé Contact. Il vient avec les champs de nom, de courriel et de message que ce code envoie.
- Dans l’onglet Livraison, ajoutez votre adresse courriel, puis choisissez Enregistrer la livraison. Confirmez le courriel que Formerie vous envoie.
- Dans l’onglet Publication, choisissez API seulement et ajoutez l’adresse qu’affiche votre serveur de développement, comme
http://localhost:3000, sous Adresses de vos sites.localhostet127.0.0.1comptent comme deux adresses différentes. Ajoutez l’adresse de votre site en ligne de la même façon au moment de le déployer. - Choisissez Publier le formulaire.
- Dans le code ci-dessus, remplacez
acmepar l’identifiant d’espace de travail affiché dans l’onglet Publication.
Vérifier que c’est arrivé
Lancez votre application, remplissez le formulaire et envoyez-le. « Thanks! » s’affiche dans la page, un texte que vous pouvez changer. Dans l’application Formerie, votre réponse apparaît sous Soumissions, et son courriel sous Livraisons.
Vous voyez une erreur CORS ou NETWORK_ERROR? L’adresse de votre site n’est pas encore dans l’onglet Publication, ou vous n’avez pas republié
depuis que vous l’avez ajoutée. Consultez Dépannage.
Aller plus loin
À partir de votre serveur
Ajoutez une route serveur, et un formulaire natif pourra y envoyer ses réponses. Elle ne fonctionne pas encore avec un formulaire qui demande une vérification humaine. Lisez ce que l’approche par le serveur implique avant de la choisir.
import { readFormData } from "h3";
import { createFormerieNuxtSubmitHandler } from "@formerie/nuxt";
export default defineEventHandler(
createFormerieNuxtSubmitHandler({ workspace: "acme", form: "contact" }, { readFormData }),
);À lire ensuite
- Recettes : demandes de soumission, sondages et acheminement par sujet
- Afficher les erreurs de champ et plus encore
- SDK JavaScript et API : la référence complète