public void Run() { //регистрируем зависимости, получаем поставщик сервисов var injector = BuildServiceProvider(); //создали фабрику валидаторов событий var factory = injector.GetRequiredService <EventValidatorFactory>(); //создали эземпляр события var request = new SaveEventRequest { EventCode = EventTypes.Login, UserId = Guid.NewGuid() }; //получаем валидатор по коду события var validator = factory.Create(request.EventCode); //производим валидацию модели if (validator.Validate(request, out var errors)) { //действие в случае валидности модели } else { //действие при невалидной модели } }
public bool Validate( SaveEventRequest request, out string[] errors ) { var errorsList = new List <string>(); if (request.UserId == null) { errorsList.Add("UserId is null"); } errors = errorsList.ToArray(); return(errorsList.Count == 0); }