0
0
Expressframework~30 mins

Validating body fields in Express - Mini Project: Build & Apply

Choose your learning style9 modes available
Validating body fields
📖 Scenario: You are building a simple Express server that accepts user data through a POST request. To keep your server safe and reliable, you need to check that the user sends the right information in the request body.
🎯 Goal: Create an Express server that validates the name and email fields in the request body before processing the data.
📋 What You'll Learn
Create an Express app
Add middleware to parse JSON request bodies
Check that the name field exists and is a string
Check that the email field exists and contains an '@' symbol
Send a 400 error response if validation fails
Send a 200 success response if validation passes
💡 Why This Matters
🌍 Real World
Validating user input on the server helps prevent errors and security issues in web applications.
💼 Career
Backend developers often write validation logic to ensure data integrity and improve user experience.
Progress0 / 4 steps
1
Set up Express app and JSON parser
Create a variable called express that requires the 'express' module. Then create a variable called app by calling express(). Finally, add the JSON body parser middleware by calling app.use(express.json()).
Express
Need a hint?

Use require('express') to import Express. Then call express() to create the app. Use app.use(express.json()) to parse JSON bodies.

2
Create POST route with validation variables
Add a POST route handler on /submit using app.post. Inside the handler function, create two variables: name and email, which get their values from req.body.name and req.body.email respectively.
Express
Need a hint?

Use app.post('/submit', (req, res) => { ... }) to create the route. Inside, get name and email from req.body.

3
Add validation logic for name and email
Inside the POST handler, add an if statement that checks if name is not a string or is missing, or if email is not a string or does not include '@'. If any check fails, respond with status 400 and JSON { error: 'Invalid input' }.
Express
Need a hint?

Check if name is missing or not a string, or if email is missing, not a string, or missing '@'. Use res.status(400).json(...) to send error.

4
Send success response for valid input
After the validation if block, send a JSON response with status 200 and message { message: 'Data received' }. Then add app.listen(3000) to start the server on port 3000.
Express
Need a hint?

Send success JSON with res.status(200).json({ message: 'Data received' }). Start server with app.listen(3000).