Skip to content

کلاس ReserveBookingCommandValidator

این کلاس مسئول اعتبارسنجی داده‌های ورودی برای رزرو آپارتمان است. این کلاس از FluentValidation برای تعریف قوانین اعتبارسنجی استفاده می‌کند.

ویژگی‌های کلیدی

  1. اعتبارسنجی داده‌ها:
    • بررسی صحت داده‌های ورودی
    • استفاده از FluentValidation برای تعریف قوانین اعتبارسنجی

ساختار کد

csharp
public class ReserveBookingCommandValidator : AbstractValidator<ReserveBookingCommand>
{
    public ReserveBookingCommandValidator()
    {
        RuleFor(c => c.UserId).NotEmpty();

        RuleFor(c => c.ApartmentId).NotEmpty();

        RuleFor(c => c.StartDate).LessThan(c => c.EndDate);
    }
}

نحوه کار

  1. تعریف قوانین اعتبارسنجی:

    • تعریف قوانین برای بررسی صحت داده‌های ورودی
    • استفاده از FluentValidation برای تعریف قوانین
  2. اعتبارسنجی داده‌ها:

    • بررسی داده‌های ورودی بر اساس قوانین تعریف شده
    • پرتاب خطا در صورت وجود خطاهای اعتبارسنجی

مزایای این طراحی

  1. قابلیت استفاده مجدد:

    • استفاده از قوانین اعتبارسنجی مشترک در سراسر سیستم
    • کاهش تکرار کد
  2. قابلیت تست‌پذیری بالا:

    • امکان تست قوانین اعتبارسنجی به صورت مجزا
    • افزایش قابلیت اطمینان سیستم
  3. مدیریت خطا:

    • استفاده از الگوی Validation برای مدیریت خطاها
    • بازگشت پیام‌های خطای معنادار

Alireza Abasi - Released under the MIT License.