Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

SvelteKit Form Actions: Trimiterea și Validarea Formularelor pe Server în Svelte & SvelteKit

Ghid complet pentru Form Actions în SvelteKit: definirea acțiunilor în +page.server.ts, îmbunătățirea progresivă cu use:enhance și returnarea erorilor cu fail().

Sintaxă
export const actions = { default: async ({ request }) => { ... } }; use:enhance

Form Actions reprezintă modul standard prin care SvelteKit trimite date către server. Ele funcționează nativ conform specificațiilor HTML chiar și dacă JavaScript este dezactivat în browser (progressive enhancement), iar când JS este activ, oferă o experiență SPA fără reîncărcarea paginii prin acțiunea use:enhance.

Definirea acțiunilor de server în +page.server.ts
import { fail } from '@sveltejs/kit';
import type { Actions } from './$types';

export const actions: Actions = {
    creeaza_articol: async ({ request, locals }) => {
        const formData = await request.formData();
        const titlu = formData.get('titlu') as string;
        const continut = formData.get('continut') as string;

        // Validare de date pe server:
        if (!titlu || titlu.length < 5) {
            return fail(400, {
                eroare: 'Titlul trebuie să aibă minimum 5 caractere.',
                valori: { titlu, continut }
            });
        }

        // Salvare în baza de date...
        return { success: true };
    }
};
Formularul Svelte cu use:enhance (+page.svelte)
<script lang="ts">
    import { enhance } from '$app/forms';
    let { form } = $props(); // preia rezultatul sau erorile returnate de server
</script>

<form method="POST" action="?/creeaza_articol" use:enhance>
    {#if form?.eroare}
        <p class="eroare">{form.eroare}</p>
    {/if}

    <label>
        Titlu Articol:
        <input name="titlu" value={form?.valori?.titlu ?? ''} required />
    </label>

    <button type="submit">Publică Articol</button>
</form>
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: SvelteKit Form Actions: Trimiterea și Validarea Formularelor pe Server

Ai o nelămurire despre utilizarea comenzii SvelteKit Form Actions: Trimiterea și Validarea Formularelor pe Server sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.