C# (.NET) में डेटा सत्यापन: लाइब्रेरीज़ और दृष्टिकोण

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

C# (.NET) में डेटा सत्यापन: उदाहरणों के साथ संपूर्ण गाइड



डेटा सत्यापन .NET पारिस्थितिकी तंत्र में C# में विश्वसनीय एप्लिकेशन विकसित करने के प्रमुख पहलुओं में से एक है। यह सुनिश्चित करता है कि इनकमिंग डेटा निर्धारित नियमों का पालन करता है, जिससे त्रुटियों, कमजोरियों और सिस्टम की गलत स्थिति को रोका जा सके। इस लेख में, हम .NET में सत्यापन के लिए मुख्य लाइब्रेरीज़ और टूल्स पर विस्तार से चर्चा करेंगे, जिसमें अंतर्निहित तंत्र और लोकप्रिय तृतीय-पक्ष समाधान शामिल हैं।



डेटा सत्यापन क्यों महत्वपूर्ण है?

सत्यापन के बिना, एप्लिकेशन प्राप्त कर सकता है:

  • गलत डेटा प्रकार (उदाहरण के लिए, संख्या के बजाय स्ट्रिंग)।
  • स्वीकार्य सीमा से बाहर (नकारात्मक आयु, अस्तित्वहीन ईमेल)।
  • SQL इंजेक्शन, XSS हमले और अन्य सुरक्षा खतरे।
  • व्यावसायिक तर्क का उल्लंघन (बिना वस्तुओं के ऑर्डर, खाली उपयोगकर्ता नाम)।

सत्यापन के लिए संरचित दृष्टिकोण का उपयोग कोड को स्वच्छ, परीक्षण योग्य और सुरक्षित बनाता है।



1. अंतर्निहित सत्यापन: Data Annotations (System.ComponentModel.DataAnnotations)

सबसे सरल और सामान्य तरीका नेमस्पेस System.ComponentModel.DataAnnotations से एट्रीब्यूट्स का उपयोग करना है। यह विधि ASP.NET Core MVC, Web API और Entity Framework में मॉडल के लिए आदर्श है।



एट्रीब्यूट्स के साथ मॉडल का उदाहरण:

using System.ComponentModel.DataAnnotations;

public class User{ [Required(ErrorMessage = "नाम आवश्यक है")] [StringLength(50, MinimumLength = 2, ErrorMessage = "नाम 2 से 50 वर्णों के बीच होना चाहिए")] public string Name { get; set; }

[Required] [EmailAddress(ErrorMessage = "अमान्य ईमेल")] public string Email { get; set; }

[Range(1, 120, ErrorMessage = "आयु 1 से 120 के बीच होनी चाहिए")] public int Age { get; set; }

[Phone(ErrorMessage = "अमान्य फ़ोन नंबर")] public string Phone { get; set; }}


मॉडल की प्रोग्रामेटिक जांच:

var user = new User { Name = "A", Email = "invalid", Age = 200 };var context = new ValidationContext(user);var results = new List<ValidationResult>();

bool isValid = Validator.TryValidateObject(user, context, results, true);

if (!isValid){ foreach (var error in results) { Console.WriteLine(error.ErrorMessage); }}


लाभ: सरलता, ASP.NET Core में अंतर्निहित समर्थन, कंट्रोलर स्तर पर स्वचालित सत्यापन।

कमियां: सीमित लचीलापन, एट्रीब्यूट्स मॉडल से कठोरता से जुड़े होते हैं, जटिल व्यावसायिक नियमों को लागू करना कठिन है।



2. FluentValidation — लचीला और अभिव्यंजक सत्यापन

लाइब्रेरी FluentValidation .NET में सत्यापन के लिए सबसे लोकप्रिय तृतीय-पक्ष टूल है। यह सत्यापन नियमों को अलग क्लासेस में रखने की अनुमति देता है, चेन कॉल, कस्टम संदेश और जटिल शर्तों का समर्थन करता है।



NuGet के माध्यम से स्थापना: Install-Package FluentValidation



वैलिडेटर का उदाहरण:

using FluentValidation;

public class UserValidator : AbstractValidator<User>{ public UserValidator() { RuleFor(u => u.Name) .NotEmpty().WithMessage("नाम खाली नहीं हो सकता") .Length(2, 50).WithMessage("नाम की लंबाई 2 से 50 वर्णों के बीच होनी चाहिए");

RuleFor(u => u.Email) .NotEmpty() .EmailAddress().WithMessage("ईमेल का गलत प्रारूप");

RuleFor(u => u.Age) .InclusiveBetween(1, 120).WithMessage("आयु सीमा से बाहर है");

// कस्टम नियम RuleFor(u => u.Phone) .Matches(@"^\\+?[1-9]\\d{1,14}$").When(u => !string.IsNullOrEmpty(u.Phone)) .WithMessage("अंतर्राष्ट्रीय प्रारूप में फ़ोन नंबर"); }}


उपयोग

अनुशंसाएँ