<?php declare(strict_types=1); namespace Xentral\Modules\MandatoryFields\Exception; use RuntimeException; final class ValidationFailedException extends RuntimeException implements MandatoryFieldsExceptionInterface { /** @var array $errors */ private $errors = []; /** * @param array $errors * * @return self */ public static function fromErrors(array $errors) { $errorString = ''; foreach ($errors as $propertyName => $propertyErrors) { $errorString .= implode("\r\n", $propertyErrors); } $exception = new self('Validation failed with following errors: ' . "\n\n" . $errorString); $exception->errors = $errors; return $exception; } /** * @return array */ public function getErrors() { return $this->errors; } }