Skip to content

Configuration

QForm Builder fonctionne sans fichier de configuration dédié. La plupart des réglages se font sur les composants publics, ce qui garde l’intégration lisible dans une application Nuxt.

Convention minimale

vue
<FormBuilder
  builder-id="contact"
  locale="fr"
  height="calc(100vh - 32px)"
  autosave
/>
PropUsage conseillé
builder-idIdentifiant stable du formulaire ou de l’écran d’édition.
localefr par défaut, en inclus.
heightHauteur du shell builder dans la page.
autosaveSauvegarde locale de sécurité pendant l’édition.
storage-keyClé explicite si plusieurs builders partagent la même page.

Langue

vue
<FormBuilder builder-id="support" locale="en" />
<FormViewer :schema="schema" :values="values" locale="fr" />

Vous pouvez surcharger une partie des libellés sans copier tout le dictionnaire :

ts
import type { QFormBuilderLocaleRegistry } from '@vevedh/qform-builder-layer/types'

const locales: QFormBuilderLocaleRegistry = {
  fr: {
    toolbar: {
      save: 'Publier',
    },
  },
}
vue
<FormBuilder builder-id="support" locale="fr" :locales="locales" />

Persistance

Le builder n’impose pas de backend. Écoutez @save, validez le payload côté application, puis stockez le document dans votre service.

ts
type SavedForm = {
  id: string
  schema: unknown[]
  values: Record<string, unknown>
  settings: Record<string, unknown>
  updatedAt: string
}

async function saveForm(payload: SavedForm) {
  await $fetch('/api/forms/' + encodeURIComponent(payload.id), {
    method: 'PUT',
    body: payload,
  })
}

Gardez la validation serveur obligatoire : un schéma reçu depuis une interface d’administration reste une donnée utilisateur.

Largeur des panneaux

Le comportement par défaut est auto-fit. Le builder se base sur sa propre largeur utile, pas seulement sur window.innerWidth.

vue
<FormBuilder
  builder-id="embedded-builder"
  drawer-behavior="default"
  height="720px"
/>

Valeurs disponibles :

ValeurEffet
defaultAuto-fit selon l’espace disponible.
desktopPanneaux persistants.
mobilePanneaux en overlay.

Sécurité des styles

Le panneau Styles utilise une liste fermée de presets, tons Quasar et utilitaires UnoCSS préfixés. Ne passez pas de classes libres provenant d’un utilisateur final dans le schéma.

vue
<FormViewer
  :schema="schema"
  :values="values"
  locale="fr"
/>

Le runtime nettoie les métadonnées de builder avant le rendu FormKit.

Checklist projet

  • donnez un builder-id stable ;
  • choisissez une clé de stockage explicite pour les écrans complexes ;
  • validez les schémas côté serveur avant persistance ;
  • gardez les fichiers binaires hors du JSON de formulaire ;
  • rejouez le formulaire avec FormViewer dans une page séparée avant publication.

QForm Builder — layer Nuxt 4, Quasar et FormKit pour formulaires dynamiques.