पाठ 13 / 25

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

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

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

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

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

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

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