Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में फ्लुएंट वैलिडेशन का उपयोग करके प्रॉपर्टी की MinLength और MaxLength वैलिडेशन कैसे जांचें

FluentValidation एक .NET लाइब्रेरी है जो स्ट्रॉन्गली-टाइप्ड वैलिडेशन नियम बनाने के लिए उपयोग की जाती है। यह वैलिडेशन नियम बनाने के लिए फ्लुएंट इंटरफेस और लैम्ब्डा एक्सप्रेशन्स का उपयोग करती है।

MaxLength Validator

यह सुनिश्चित करता है कि किसी विशेष स्ट्रिंग प्रॉपर्टी की लंबाई निर्दिष्ट मान से अधिक न हो।

  • केवल स्ट्रिंग प्रॉपर्टीज पर मान्य
  • स्ट्रिंग फॉर्मेट आर्ग्स: {PropertyName}, {MaxLength}, {TotalLength}, {PropertyValue}

MinLength Validator

यह सुनिश्चित करता है कि किसी विशेष स्ट्रिंग प्रॉपर्टी की लंबाई निर्दिष्ट मान से कम न हो।

  • केवल स्ट्रिंग प्रॉपर्टीज पर मान्य
  • स्ट्रिंग फॉर्मेट आर्ग्स: {PropertyName}, {MinLength}, {TotalLength}, {PropertyValue}

उदाहरण

using FluentValidation;
using FluentValidation.Results;

static void Main(string[] args)
{
    List<string> errors = new List<string>();
    
    PersonModel person = new PersonModel
    {
        FirstName = "TestUser444", // 11 वर्ण - 7 की मैक्स लिमिट से अधिक
        LastName = "TTT"           // 3 वर्ण - 5 की मिन लिमिट से कम
    };
    
    PersonValidator validator = new PersonValidator();
    ValidationResult results = validator.Validate(person);
    
    if (!results.IsValid)
    {
        foreach (ValidationFailure failure in results.Errors)
        {
            errors.Add(failure.ErrorMessage);
        }
    }
    
    foreach (var item in errors)
    {
        Console.WriteLine(item);
    }
    Console.ReadLine();
}

public class PersonModel
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class PersonValidator : AbstractValidator<PersonModel>
{
    public PersonValidator()
    {
        RuleFor(p => p.FirstName)
            .MaximumLength(7)
            .WithMessage("MaximumLength must be 7 for {PropertyName} (was {TotalLength})");
        
        RuleFor(p => p.LastName)
            .MinimumLength(5)
            .WithMessage("MinimumLength must be 5 for {PropertyName} (was {TotalLength})");
    }
}

आउटपुट

MaximumLength must be 7 for FirstName (was 11)
MinimumLength must be 5 for LastName (was 3)

संयुक्त लंबाई वैलिडेशन

public class PersonValidator : AbstractValidator<PersonModel>
{
    public PersonValidator()
    {
        // लंबाई रेंज (Min और Max दोनों)
        RuleFor(p => p.FirstName)
            .Length(2, 50) // MinimumLength(2) + MaximumLength(50) के बराबर
            .WithMessage("{PropertyName} must be between 2 and 50 characters (was {TotalLength})");
        
        // शर्तों के साथ
        RuleFor(p => p.LastName)
            .MinimumLength(2)
            .When(p => !string.IsNullOrEmpty(p.LastName)) // केवल तभी जब खाली न हो
            .WithMessage("LastName must be at least 2 characters if provided");
    }
}

अन्य उपयोगी स्ट्रिंग वैलिडेटर्स

RuleFor(p => p.Email)
    .NotEmpty()
    .EmailAddress()
    .MaximumLength(255);

RuleFor(p => p.PhoneNumber)
    .Matches(@"^\+?[1-9]\d{1,14}$") // E.164 फॉर्मेट
    .WithMessage("Invalid phone number format");

RuleFor(p => p.Username)
    .Matches("^[a-zA-Z0-9_]+$")
    .WithMessage("Username can only contain letters, numbers, and underscore");

पैकेज इंस्टॉलेशन

<PackageReference Include="FluentValidation" Version="11.9.0" />
// या
dotnet add package FluentValidation

ASP.NET Core में एकीकरण

// Program.cs / Startup.cs
builder.Services.AddControllers()
    .AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<Program>());

// या मैन्युअल पंजीकरण
builder.Services.AddTransient<IValidator<PersonModel>, PersonValidator>();
  1. Pixel स्मार्टफोन का उपयोग करके अपनी नाड़ी और श्वसन दर कैसे जांचें Pixel स्मार्टफोन का उपयोग करके अपनी नाड़ी और श्वसन दर कैसे जांचें

    Google के Pixel आज खरीदे जा सकने वाले कुछ बेहतरीन Android फोन हैं। हाल ही में, टेक दिग्गज ने एक अपडेट जारी किया है जो फोन को और भी उपयोगी बनाता है। अब आप फोन के कैमरों का उपयोग करके अपनी नाड़ी और श्वसन दर माप सकते हैं। यहां हम आपको दिखाते हैं कि Pixel स्मार्टफोन का उपयोग करके अपने स्वास्थ्य आँकड़ों

  1. विंडोज 10, 8 और 7 पर PowerShell संस्करण कैसे जांचें विंडोज 10, 8 और 7 पर PowerShell संस्करण कैसे जांचें

    चूंकि विंडोज 10 डिफ़ॉल्ट रूप से विंडोज PowerShell 5.0 के साथ इंस्टॉल आता है लेकिन WU (विंडोज अपडेट) घटक को स्वचालित रूप से एक बेहतर संस्करण इंस्टॉल करना चाहिए (PowerShell 5.1), कुछ उपयोगकर्ता यह निर्धारित करने के तरीकों की तलाश कर रहे हैं कि वे वर्तमान में कौन सा PowerShell संस्करण उपयोग कर रहे हैं।

  1. Windows 11 पर कैमरा और माइक्रोफोन एक्सेस करने वाले ऐप्स कैसे सत्यापित करें Windows 11 पर कैमरा और माइक्रोफोन एक्सेस करने वाले ऐप्स कैसे सत्यापित करें

    आपने वीडियो कॉल, फोटो, ऑडियो रिकॉर्डिंग और अन्य उद्देश्यों के लिए उपयोग किए जाने के लिए Windows पर ऐप्स और प्रोग्राम को अपने कैमरे और माइक्रोफोन तक पहुंच प्रदान की होगी। हालांकि, यदि आप एक उपयोगकर्ता के रूप में अपनी गोपनीयता को महत्व देते हैं, तो आप ऐप्स द्वारा आपके कैमरे और माइक्रोफोन का गुप्त रूप