mirror of
https://github.com/Respect/Validation.git
synced 2024-06-02 13:52:14 +02:00
8c9c587597
There were some cases when the exceptions was not displayed property when using nested exception, this commit fix the problem and also display messages in Markdown list.
70 lines
1.3 KiB
PHP
70 lines
1.3 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of Respect/Validation.
|
|
*
|
|
* (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
|
|
*
|
|
* For the full copyright and license information, please view the "LICENSE.md"
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Respect\Validation\Exceptions;
|
|
|
|
use Countable;
|
|
use RecursiveIterator;
|
|
|
|
class RecursiveExceptionIterator implements RecursiveIterator, Countable
|
|
{
|
|
private $exceptions;
|
|
|
|
public function __construct(AbstractNestedException $parent)
|
|
{
|
|
$this->exceptions = $parent->getRelated();
|
|
}
|
|
|
|
public function count()
|
|
{
|
|
return $this->exceptions->count();
|
|
}
|
|
|
|
public function hasChildren()
|
|
{
|
|
if (!$this->valid()) {
|
|
return false;
|
|
}
|
|
|
|
return ($this->current() instanceof AbstractNestedException);
|
|
}
|
|
|
|
public function getChildren()
|
|
{
|
|
return new static($this->current());
|
|
}
|
|
|
|
public function current()
|
|
{
|
|
return $this->exceptions->current();
|
|
}
|
|
|
|
public function key()
|
|
{
|
|
return $this->exceptions->key();
|
|
}
|
|
|
|
public function next()
|
|
{
|
|
$this->exceptions->next();
|
|
}
|
|
|
|
public function rewind()
|
|
{
|
|
$this->exceptions->rewind();
|
|
}
|
|
|
|
public function valid()
|
|
{
|
|
return $this->exceptions->valid();
|
|
}
|
|
}
|