Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Express Documentation22টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Routing
  • Middleware
  • Request & Response
  • Static Files
  • Router
  • Error Handling
  • Template Engines
  • Body Parsing
  • File Upload
  • CORS
  • Database
  • Validation
  • Authentication
  • Security
  • REST API
  • Performance
  • Testing
  • Best Practices
  • Project
  • Interview
  1. Docs
  2. Express
  3. Express Input Validation (Zod)
ExpressIntermediate

Express Input Validation (Zod)

Zod schema, request validation, error messages — Express-এ input validation বাংলায়।

10টি অংশবাংলা ভাষায়

Input validation user-এর পাঠানো data যাচাই করা। Invalid data হলে 400 respond করা। Beauty tool হলো Zod (বিল্ট-ইন TypeScript types)।

Zod Setup

npm install zod
validators/userValidator.jsjavascript
javascript
const { z } = require("zod");

const createUserSchema = z.object({
  name: z.string().min(2, "নাম কমপক্ষে 2 অক্ষর").max(50),
  email: z.string().email("সঠিক email দিন"),
  age: z.number().int().min(18).max(120).optional(),
  password: z.string().min(6, "পাসওয়ার্ড কমপক্ষে 6 অক্ষর"),
});

const updateUserSchema = z.object({
  name: z.string().min(2).max(50).optional(),
  age: z.number().int().min(18).max(120).optional(),
});

module.exports = { createUserSchema, updateUserSchema };

Validation Middleware

middleware/validate.jsjavascript
javascript
const validate = (schema) => (req, res, next) => {
  const result = schema.safeParse(req.body);

  if (!result.success) {
    const errors = result.error.issues.map(issue => ({
      field: issue.path.join("."),
      message: issue.message,
    }));
    return res.status(400).json({ error: "Validation failed", errors });
  }

  req.body = result.data; // cleaned data
  next();
};

module.exports = validate;

Use in Route

const validate = require("../middleware/validate");
const { createUserSchema } = require("../validators/userValidator");

router.post("/", validate(createUserSchema), async (req, res) => {
  const user = await User.create(req.body);
  res.status(201).json(user);
});
Invalid request examplebash
bash
POST /api/users
{ "name": "A", "email": "bad-email" }

Response:
{
  "error": "Validation failed",
  "errors": [
    { "field": "name", "message": "নাম কমপক্ষে 2 অক্ষর" },
    { "field": "email", "message": "সঠিক email দিন" }
  ]
}
Zod & TypeScript

Zod TypeScript-এর সাথে দারুণ কাজ করে — schema থেকে automatically type inference পাওয়া যায় (z.infer), তাই type safety নিশ্চিত।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরExpress + MongoDB (Mongoose)পরেরExpress Authentication (JWT)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com