Form actions menangani form submission di server — tanpa perlu API endpoint terpisah.
Membuat Action
// src/routes/login/+page.server.js
export const actions = {
default: async ({ request }) => {
const data = await request.formData()
const email = data.get("email")
const password = data.get("password")
// validasi dan login
if (!email) return { success: false, error: "Email wajib diisi" }
// redirect setelah login
throw redirect(303, "/dashboard")
}
}
Form di Page
<!-- +page.svelte -->
<script>
export let form
</script>
{#if form?.error}
<p class="error">{form.error}</p>
{/if}
<form method="POST">
<input name="email" type="email" />
<input name="password" type="password" />
<button>Login</button>
</form>
Form actions menggunakan progressive enhancement — bekerja tanpa JavaScript!