# बेसिक इनपुट वैलिडेशन — एक्सप्रेस.जेएस

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

> ग़लत पेलोड को अपने लॉजिक तक पहुँचने से पहले ही अस्वीकार करें।

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

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

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

गंभीर ऐप्स के लिए, `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

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