using FluentValidation; namespace AutobusApi.Application.VehicleEnrollments.Commands.CreateVehicleEnrollment; public class CreateVehicleEnrollmentCommandValidator : AbstractValidator { public CreateVehicleEnrollmentCommandValidator() { RuleFor(v => v.VehicleId).GreaterThan(0); RuleFor(v => v.RouteId).GreaterThan(0); RuleForEach(v => v.RouteAddressDetails).ChildRules(detail => { detail.RuleFor(v => v.RouteAddressId).GreaterThan(0); detail.RuleFor(v => v.TimeToNextAddress).GreaterThan(TimeSpan.Zero); detail.RuleFor(v => v.CurrentAddressStopTime).GreaterThan(TimeSpan.Zero); detail.RuleFor(v => v.CostToNextAddress).GreaterThan(0.0); }); } }