OpenXE/classes/Modules/MandatoryFields/Exception/ValidationFailedException.php
2021-05-21 08:49:41 +02:00

40 lines
857 B
PHP

<?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;
}
}