FormErrorIterator
class FormErrorIterator implements RecursiveIterator, SeekableIterator, ArrayAccess, Countable
Iterates over the errors of a form.
Optionally, this class supports recursive iteration. In order to iterate recursively, set the constructor argument $deep to true. Now each element returned by the iterator is either an instance of {@link FormError} or of {@link FormErrorIterator}, in case the errors belong to a sub-form.
You can also wrap the iterator into a {@link \RecursiveIteratorIterator} to flatten the recursive structure into a flat list of errors.
Constants
| INDENTATION |   The prefix used for indenting nested error messages.  |  
Methods
|  __construct(FormInterface $form, array $errors)  Creates a new iterator.  |  ||
| string |  __toString()  Returns all iterated error messages as string.  |  |
| FormInterface |  getForm()  Returns the iterated form.  |  |
| FormError|FormErrorIterator |  current()  Returns the current element of the iterator.  |  |
|  next()  Advances the iterator to the next position.  |  ||
| int |  key()  Returns the current position of the iterator.  |  |
| bool |  valid()  Returns whether the iterator's position is valid.  |  |
|  rewind()  Sets the iterator's position to the beginning.  |  ||
| bool |  offsetExists(int $position)  Returns whether a position exists in the iterator.  |  |
| FormError|FormErrorIterator |  offsetGet(int $position)  Returns the element at a position in the iterator.  |  |
|  offsetSet($position, $value)  Unsupported method.  |  ||
|  offsetUnset($position)  Unsupported method.  |  ||
| bool |  hasChildren()  Returns whether the current element of the iterator can be recursed into.  |  |
|  getChildren()  Alias of {@link current()}.  |  ||
| int |  count()  Returns the number of elements in the iterator.  |  |
|  seek(int $position)  Sets the position of the iterator.  |  ||
| FormErrorIterator |  findByCodes(string|string[] $codes)  Creates iterator for errors with specific codes.  |  
Details
__construct(FormInterface $form, array $errors)
Creates a new iterator.
Parameters
| FormInterface | $form | The erroneous form | 
| array | $errors | The form errors | 
Exceptions
| InvalidArgumentException | If the errors are invalid | 
string __toString()
Returns all iterated error messages as string.
Return Value
| string | The iterated error messages | 
FormInterface getForm()
Returns the iterated form.
Return Value
| FormInterface | The form whose errors are iterated by this object | 
FormError|FormErrorIterator current()
Returns the current element of the iterator.
Return Value
| FormError|FormErrorIterator | an error or an iterator containing nested errors | 
next()
Advances the iterator to the next position.
int key()
Returns the current position of the iterator.
Return Value
| int | The 0-indexed position | 
bool valid()
Returns whether the iterator's position is valid.
Return Value
| bool | Whether the iterator is valid | 
rewind()
Sets the iterator's position to the beginning.
This method detects if errors have been added to the form since the construction of the iterator.
bool offsetExists(int $position)
Returns whether a position exists in the iterator.
Parameters
| int | $position | The position | 
Return Value
| bool | Whether that position exists | 
FormError|FormErrorIterator offsetGet(int $position)
Returns the element at a position in the iterator.
Parameters
| int | $position | The position | 
Return Value
| FormError|FormErrorIterator | The element at the given position | 
Exceptions
| OutOfBoundsException | If the given position does not exist | 
offsetSet($position, $value)
Unsupported method.
Parameters
| $position | ||
| $value | 
Exceptions
| BadMethodCallException | 
offsetUnset($position)
Unsupported method.
Parameters
| $position | 
Exceptions
| BadMethodCallException | 
bool hasChildren()
Returns whether the current element of the iterator can be recursed into.
Return Value
| bool | Whether the current element is an instance of this class | 
getChildren()
Alias of {@link current()}.
int count()
Returns the number of elements in the iterator.
Note that this is not the total number of errors, if the constructor parameter $deep was set to true! In that case, you should wrap the iterator into a {@link \RecursiveIteratorIterator} with the standard mode {@link \RecursiveIteratorIterator::LEAVES_ONLY} and count the result.
$iterator = new \RecursiveIteratorIterator($form->getErrors(true));
$count = count(iterator_to_array($iterator));
 Alternatively, set the constructor argument $flatten to true as well.
$count = count($form->getErrors(true, true));
   Return Value
| int | The number of iterated elements | 
seek(int $position)
Sets the position of the iterator.
Parameters
| int | $position | The new position | 
Exceptions
| OutOfBoundsException | If the position is invalid | 
FormErrorIterator findByCodes(string|string[] $codes)
Creates iterator for errors with specific codes.
Parameters
| string|string[] | $codes | The codes to find | 
Return Value
| FormErrorIterator | new instance which contains only specific errors | 
    © 2004–2017 Fabien Potencier
Licensed under the MIT License.
    http://api.symfony.com/3.4/Symfony/Component/Form/FormErrorIterator.html