آموزش کار با FluentValidation در سی شارپ

FluentValidation pic
تعداد ویدئو 56
زمان دوره 03:41:35
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

آموزش کار با FluentValidation Fundamentals در سی شارپ یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی مباحث Validation در Domain Driven Design است که با نام اصلی FluentValidation Fundamentals از شرکت Pluralsightمنتشر شده است.

اعتبارسنجی یا Validateion چیست؟

اعتبارسنجی ورودی یا Input Validation یک مبحث گسترده و پیچیده است و اغلب مشخص نیست از چه ابزارهایی استفاده می کنیم. اما بهترین شیوه ها را در این زمینه دنبال کنیم. در دوره پیش رو یاد می گیرید که چگونه در برنامه های ASP.NET Core اعتبارسنجی کنید. ابتدا ویژگی های کتابخانه FluentValidation را کشف می کنید. سپس نحوه ترکیب آنها با بهترین شیوه های DDD را کشف خواهید کرد. در نهایت، نحوه استفاده از ویژگی ها را به عنوان جایگزین کتابخانه خواهید آموخت. پس از اتمام این دوره، مهارت ها و دانش اعتبارسنجی و کتابخانه FluentValidation مورد نیاز برای انجام اعتبارسنجی در هر برنامه ASP.NET Core را خواهید داشت.

FluentValidation-Fundamentals-snapshot

به عبارت دیگر FluentValidation یک کتابخانه دات نت برای ایجاد قوانین تأیید اعتبار قوی است که از رابط کاربری روان و عبارات lambda برای ایجاد قوانین اعتبار سنجی استفاده می کند. این به پاکسازی کد دامنه و انسجام بیشتر آن کمک می کند، همچنین به شما یک مکان واحد برای جستجوی منطق اعتبار سنجی می دهد. به مثال زیر نگاه کنید:


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

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

      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.FirstName)
      .Cascade(CascadeMode.StopOnFirstFailure)
      .NotEmpty().WithMessage("{PropertyName} is Empty")
      .Length(2, 50).WithMessage("Length ({TotalLength}) of {PropertyName} Invalid")
      .Must(BeAValidName).WithMessage("{PropertyName} Contains Invalid Characters");

      RuleFor(p => p.LastName)
      .Cascade(CascadeMode.StopOnFirstFailure)
      .NotEmpty().WithMessage("{PropertyName} is Empty")
      .Length(2, 50).WithMessage("Length ({TotalLength}) of {PropertyName} Invalid")
      .Must(BeAValidName).WithMessage("{PropertyName} Contains Invalid Characters");

   }

   protected bool BeAValidName(string name) {
      name = name.Replace(" ", "");
      name = name.Replace("-", "");
      return name.All(Char.IsLetter);
   }
}

خروجی کد بالا بصورت زیر می باشد:

 
First Name is Empty
Length (1) of Last Name Invalid

سرفصل مطالب آموزش ویدئویی کار با FluentValidation Fundamentals در سی شارپ

فصل اول: معرفی این دوره آموزشی

  • معرفی این دوره آموزشی

فصل دوم: مقدمه دوره و آشنایی اولیه این دوره

  • مقدمه
  • اعتبارسنجی در یک نگاه
  • معرفی برنامه نمونه این دوره آموزشی
  • اعتبارسنجی ورودی به روش ساده
  • جمع بندی

فصل سوم: اعتبارسنجی Input با FluentValidation

  • مقدمه
  • اعتبار سنجی و یا Validate کردن Property های ساده
  • جمع بندی: اعتبار سنجی و یا Validate کردن Property های ساده
  • اعتبارسنجی و یا Validate کردن Property های پیچیده
  • جمع بندی: اعتبارسنجی و یا Validate کردن Property های پیچیده
  • اعتبار سنجی و یا Validate کردن مجموعه ها
  • جمع بندی: اعتبارسنجی و یا Validate کردن مجموعه ها
  • بررسی Inheritance Validation
  • بررسی کردن Rule Set ها
  • جمع بندی: اعتبارسنجی و یا Validate کردن Rule Set ها
  • Throw کردن Exception ها
  • جمع بندی

فصل چهارم: بررسی دقیق تر FluentValidation

  • مقدمه
  • بررسی اعتبار سنجی شرطی
  • جمع بندی: اعتبار سنجی شرطی
  • تغییر دادن Cascade Mode
  • جمع بندی: تغییر دادن Cascade Mode
  • ادغام FluentValidation در NET Pipeline
  • خودکار کردن بررسی های Model State
  • جمع بندی: ادغام FluentValidation در NET Pipeline
  • بررسی Validation Rule های سفارشی
  • جمع بندی: اعتبار سنجی سفارشی Rule ها
  • جمع بندی

فصل پنجم: Validate کردن ورودی به روش DDD

  • مقدمه
  • بررسی Always-valid Domain Model
  • بررسی Not-always-valid Domain Model و Primitive Obsession
  • معرفی کردن Value Object ها: اولین بررسی
  • اعتبارسنجی و یا Validation چیست؟
  • معرفی کردن Value Object ها: مناسبترین روش
  • جمع بندی: بررسیAlways-valid Domain Model و اعتبارسنجی
  • مقایسه Validation و Invariant ها
  • چگونه می توان قوانین اعتبارسنجی را در Domain Layer مدیریت کرد؟
  • جمع بندی

فصل ششم: ترکیب FluentValidation با الگوهای DDD

  • مقدمه
  • ترکیب کردن FluentValidation با Value Object ها
  • جمع بندی: ترکیب کردن FluentValidation با Value Object ها
  • تفاوت در پیاده سازی های اعتبار سنجی
  • بررسی مفهوم Validation Is Parsing
  • اعتبار بخشیدن به داده های پیچیده
  • تأیید اعتبارسنجی با استفاده از داده ها در پایگاه داده
  • جمع بندی: اعتبارسنجی داده های پیچیده
  • جمع بندی

فصل هفتم: بررسی دقیق تر DDD و Validation

  • مقدمه
  • بررسی Explicit Error ها
  • استانداردسازی API Output
  • جمع بندی: Explicit Error ها و API Output
  • نحوه بررسی منحصر به فرد بودن ایمیل
  • بررسی DDD Trilemma
  • تکمیل کردن Validation ها
  • جمع بندی: تکمیل کردن Validation ها

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش کار با FluentValidation در سی شارپ”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید