पाठ 13 / 23

बेसिक इनपुट वैलिडेशन

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

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

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

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

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

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 });
});

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

  • 500
  • 400
  • 200
Answer

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