Server-side Validation
React 🟡 MidDéfinition
Validation des données cote serveur en complément du client, car la validation client est contournable. Avec Server Actions, le même schema Zod peut valider des deux cotes.
Analogie
Comme un double contrôle de sécurité : le portique (client) puis la fouille (serveur). Le portique seul ne suffit pas.
Exemple de code
'use server';
const schema = z.object({ email: z.string().email() });
export async function createUser(formData: FormData) {
const result = schema.safeParse(Object.fromEntries(formData));
if (!result.success) return { errors: result.error.flatten() };
await db.users.create(result.data);
}
Cas d'usage
Toute mutation de données : la validation client est UX, la validation serveur est sécurité.
Anti-pattern
Se reposer uniquement sur la validation client, exposant l'app a des données malformées.