headerSpecification->isSatisfiedBy($header)) { $errors[] = $this->headerSpecification->getErrorMessage(); $errors = array_merge($errors, $this->headerSpecification->getErrorsHeader($header)); } $rowIndex = 2; foreach ($records as $row){ $rowErrors = []; foreach ($this->columnSpecification as $column => $specification) { if (!isset($row[$column]) || !$specification->isSatisfiedBy($row[$column])) { $rowErrors[] = "Ligne $rowIndex: " . $specification->getErrorMessage(); } } if (!empty($rowErrors)) { $errors = array_merge($errors, $rowErrors); } else { $validData[] = $row; } $rowIndex++; } return new ValidationResult( $errors, $validData); } }