Routeurroutage PRISM
routage PRISM

Ce tutoriel utilise le routage par fichiers de PRISM : chaque dossier sous src/app/ devient une URL, avec layouts imbriqués et loaders côté serveur.

Voir la doc du routage →
UIbext/ui
bext/ui

Les composants viennent de bext/ui — un portage fidèle de shadcn/ui pour bext et PRISM, stylé via les tokens de route_css.

Explorer bext/ui →
FREN
Étape 10 sur 11 · Rendre interactif

Formulaires & actions

Une action serveur traite le POST du formulaire, le valide et renvoie un résultat — sans API à écrire.

Pour muter des données, exportez une action à côté du composant. Sur un POST, bext exécute l'action côté serveur avant de re-rendre la page ; ce qu'elle renvoie arrive dans la prop actionData de la page.

src/app/products/new/page.tsx
export async function action({ request }) {
  const form = await request.formData();
  const name = String(form.get("name") ?? "").trim();
  if (!name) return { error: "Name is required." };
  return { ok: true, name };
}

Le formulaire est un <form method=\"post\"> HTML standard : il fonctionne même sans JavaScript. Soumettez-le dans l'aperçu pour voir l'action s'exécuter et la page se re-rendre.

ATTENTION
Validez toujours côté serveur dans l'action — ne faites jamais confiance à l'entrée du client. Voir actions serveur.
Fichiers
src
app
products
new
src/app/products/new/page.tsxlecture seule
localhost:3000