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

सी # में धाराप्रवाह सत्यापन का उपयोग करके डेटऑफबर्थ को वैध कैसे करें यदि यह चालू वर्ष से अधिक हो?

किसी विशेष संपत्ति के लिए एक सत्यापन नियम निर्दिष्ट करने के लिए, रूलफॉर विधि को कॉल करें, एक लैम्ब्डा अभिव्यक्ति पास करना जो उस संपत्ति को इंगित करता है जिसे आप सत्यापित करना चाहते हैं

RuleFor(p => p.DateOfBirth)

सत्यापनकर्ता को चलाने के लिए, सत्यापनकर्ता ऑब्जेक्ट को तुरंत चालू करें और मान्य करने के लिए ऑब्जेक्ट में पासिंग विधि को कॉल करें।

ValidationResult परिणाम =सत्यापनकर्ता। मान्य करें (व्यक्ति);

Validate विधि एक ValidationResult ऑब्जेक्ट देता है। इसमें दो गुण हैं

IsValid - एक बूलियन जो कहता है कि सत्यापन सफल हुआ या नहीं।

त्रुटियां - ValidationFailure ऑब्जेक्ट्स का एक संग्रह जिसमें किसी भी सत्यापन विफलताओं के बारे में विवरण शामिल हैं

उदाहरण 1

static void Main(string[] args) {
   List errors = new List();

   PersonModel person = new PersonModel();
   person.FirstName = "TestUser";
   person.LastName = "TestUser";
   person.AccountBalance = 100;
   person.DateOfBirth = DateTime.Now.Date.AddYears(1);

   PersonValidator validator = new PersonValidator();

   ValidationResult results = validator.Validate(person);

   if (results.IsValid == false) {
      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 decimal AccountBalance { get; set; }
   public DateTime DateOfBirth { get; set; }
}

public class PersonValidator : AbstractValidator{
   public PersonValidator(){
      RuleFor(p => p.DateOfBirth)
      .Must(BeAValidAge).WithMessage("Invalid {PropertyName}");
   }

   protected bool BeAValidAge(DateTime date){
      int currentYear = DateTime.Now.Year;
      int dobYear = date.Year;

      if (dobYear <= currentYear && dobYear > (currentYear - 120)){
         return true;
      }

      return false;
   }
}

आउटपुट

Invalid Date Of Birth

  1. जावास्क्रिप्ट में चालू वर्ष कैसे प्राप्त करें?

    चालू वर्ष प्राप्त करने के लिए, getFullYear() JavaScript पद्धति का उपयोग करें। जावास्क्रिप्ट दिनांक getFullYear () विधि स्थानीय समय के अनुसार निर्दिष्ट तिथि का वर्ष लौटाती है। getFullYear() द्वारा लौटाया गया मान एक निरपेक्ष संख्या है। 1000 और 9999 के बीच की तारीखों के लिए, getFullYear() चार अंकों की

  1. जावास्क्रिप्ट का उपयोग करके मूल फॉर्म सत्यापन कैसे करें?

    JavaScript वेब सर्वर पर भेजने से पहले क्लाइंट के कंप्यूटर पर फॉर्म के डेटा को मान्य करने का एक तरीका प्रदान करता है। मूल फ़ॉर्म सत्यापन में यह सुनिश्चित करने के लिए जाँच किया जाने वाला फ़ॉर्म शामिल है कि सभी अनिवार्य फ़ील्ड भरे गए हैं। इसके लिए फ़ॉर्म में प्रत्येक फ़ील्ड के माध्यम से बस एक लूप की

  1. साल एपीआई कक्षा का उपयोग कर एंड्रॉइड में साल कैसे प्राप्त करें?

    यह उदाहरण प्रदर्शित करता है कि वर्ष एपीआई वर्ग का उपयोग करके एंड्रॉइड में वर्ष कैसे प्राप्त करें। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें