पाठ 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 इसके बजाय सर्वर-साइड विफलता दर्शाता है।