mediumBackend

How do you validate and sanitize request input (zod / joi)?

60 views
01

Understand the problem

Schema validation at the API boundary.

nodejsvalidationzodsecurity
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Validation middleware with zod
import { z } from 'zod';

const CreateUser = z.object({
  email: z.string().email(),
  age: z.coerce.number().int().min(13),
}).strict();                 // reject unknown keys

const validate = (schema) => (req, res, next) => {
  const r = schema.safeParse(req.body);
  if (!r.success) return res.status(400).json({ errors: r.error.issues });
  req.body = r.data;          // clean, typed
  next();
};
app.post('/users', validate(CreateUser), createUser);
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.