# मोंगूज़ वैलिडेशन — मोंगोडीबी

Source: https://www.geekswithgeeks.com/hi/mongodb/mongo-mongoose-validation

> आवश्यक फ़ील्ड, सीमाएँ, और स्वीकृत मान लागू करें।

## बिल्ट-इन वैलिडेटर

`required`, `min`/`max`, और `enum` आम बिल्ट-इन वैलिडेटर हैं जिन्हें हर फ़ील्ड पर जोड़ा जा सकता है।

```javascript
const productSchema = new Schema({
  name: { type: String, required: true },
  price: { type: Number, min: 0 },
  status: { type: String, enum: ["active", "discontinued"] }
});
```

## एक वैलिडेशन त्रुटि

आवश्यक फ़ील्ड न होने पर डेटाबेस तक पहुँचने से पहले `ValidationError` आती है।

```javascript
const Product = model("Product", productSchema);

try {
  await Product.create({ price: 50 }); // missing name
} catch (err) {
  console.log(err.name); // "ValidationError"
}
```

**Quiz:** मोंगूज़ डॉक्यूमेंट सेव करते समय आवश्यक फ़ील्ड न हो तो क्या होता है?

- [ ] मोंगोडीबी चुपचाप एक डिफ़ॉल्ट भर देता है
- [x] ValidationError आती है और कुछ भी सेव नहीं होता
- [ ] फ़ील्ड null के रूप में सेव हो जाती है

*Answer:* ValidationError आती है और कुछ भी सेव नहीं होता. मोंगूज़ डेटाबेस तक पहुँचने से पहले वैलिडेट करता है — आवश्यक फ़ील्ड न होने पर सेव अस्वीकार हो जाता है।
