validationResultFactory = $validationResultFactory; foreach ($validators as $validator) { if (!$validator instanceof SourceItemValidatorInterface) { throw new LocalizedException( __('Source item Validator must implement SourceItemValidatorInterface.') ); } } $this->validators = $validators; } /** * @inheritdoc */ public function validate(SourceItemInterface $sourceItem): ValidationResult { $errors = []; foreach ($this->validators as $validator) { $validationResult = $validator->validate($sourceItem); if (!$validationResult->isValid()) { $errors = array_merge($errors, $validationResult->getErrors()); } } return $this->validationResultFactory->create(['errors' => $errors]); } }