کلاس ReserveBookingCommandValidator
این کلاس مسئول اعتبارسنجی دادههای ورودی برای رزرو آپارتمان است. این کلاس از FluentValidation برای تعریف قوانین اعتبارسنجی استفاده میکند.
ویژگیهای کلیدی
- اعتبارسنجی دادهها:
- بررسی صحت دادههای ورودی
- استفاده از 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);
}
}
نحوه کار
تعریف قوانین اعتبارسنجی:
- تعریف قوانین برای بررسی صحت دادههای ورودی
- استفاده از FluentValidation برای تعریف قوانین
اعتبارسنجی دادهها:
- بررسی دادههای ورودی بر اساس قوانین تعریف شده
- پرتاب خطا در صورت وجود خطاهای اعتبارسنجی
مزایای این طراحی
قابلیت استفاده مجدد:
- استفاده از قوانین اعتبارسنجی مشترک در سراسر سیستم
- کاهش تکرار کد
قابلیت تستپذیری بالا:
- امکان تست قوانین اعتبارسنجی به صورت مجزا
- افزایش قابلیت اطمینان سیستم
مدیریت خطا:
- استفاده از الگوی Validation برای مدیریت خطاها
- بازگشت پیامهای خطای معنادار