Server-side Validation
React 🟡 MidDefinition
Validation des donnees cote serveur en complement du client, car la validation client est contournable. Avec Server Actions, le meme schema Zod peut valider des deux cotes.
Analogie
Comme un double controle de securite : 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 donnees : la validation client est UX, la validation serveur est securite.
Anti-pattern
Se reposer uniquement sur la validation client, exposant l'app a des donnees malformees.