mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-27 15:10:28 +01:00
41 lines
862 B
PHP
41 lines
862 B
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace Xentral\Modules\SubscriptionCycle\Exception;
|
||
|
|
||
|
use RuntimeException;
|
||
|
|
||
|
final class ValidationFailedException extends RuntimeException implements SubscriptionCycleExceptionInterface
|
||
|
{
|
||
|
/** @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;
|
||
|
}
|
||
|
}
|
||
|
|