# बेसिक इनपुट वैलिडेशन — Express.js Fundamentals: Routing, Middleware और APIs

Source: https://www.skillbyai.com/hi/expressjs/ex-input-validation

> Server पर request bodies validate करें, गलत input पर 400 लौटाएँ और zod या express-validator उपयोग करें।

## क्लाइंट पर भरोसा न करें

सर्वर पर ज़रूरी फ़ील्ड, टाइप और सीमाएँ जाँचें — क्लाइंट-साइड जाँच को हमेशा बायपास किया जा सकता है।

## मैनुअल वैलिडेशन

गंभीर ऐप्स के लिए, `zod` या `express-validator` जैसी लाइब्रेरी उपयोग करें — पर मूल विचार है: वैलिडेट करें, फिर विफलता पर `400` भेजें।

```javascript
app.post('/items', express.json(), (req, res) => {
  const { name, price } = req.body;
  if (typeof name !== 'string' || name.trim() === '') {
    return res.status(400).json({ error: 'name is required' });
  }
  if (typeof price !== 'number' || price < 0) {
    return res.status(400).json({ error: 'price must be a positive number' });
  }
  res.status(201).json({ name, price });
});
```

**Quiz:** ग़लत इनपुट के कारण अस्वीकृत रिक्वेस्ट के लिए कौन-सा स्टेटस कोड सही है?

- [ ] 500
- [x] 400
- [ ] 200
- [ ] 201

*Answer:* 400. 400 Bad Request बताता है कि क्लाइंट ने अमान्य पेलोड भेजा; 500 इसके बजाय सर्वर-साइड विफलता दर्शाता है।
