← Tous les chapitresChapitre 14 · ~35 min

Gestion de données front : formulaires, validation & API

Récolter, valider, charger et envoyer des données depuis le navigateur avec Svelte.

Au-delà de bind:value, FormData récupère tous les champs d’un formulaire en une fois, sans connaître chaque input.

  • new FormData(form) lit les champs nommés du formulaire.
  • form.get('email') renvoie le nom de la valeur ; form.entries() itère tout.
  • bind:this sur le formulaire donne l’élément <form> à lire.
src/lib/FormData.sveltesvelte
<script>
  let form = $state(undefined)

  function envoyer() {
    const donnees = new FormData(form)
    console.log(donnees.get('email'))
  }
</script>

<form bind:this={form} onsubmit={(e) => { e.preventDefault(); envoyer() }}>
  <input name='email' type='email' placeholder='Email' />
  <input name='nom' placeholder='Nom' />
  <button>Envoyer</button>
</form>