Spec-Zone.ru › Symfony 3.0

FormErrorIterator

class FormErrorIterator implements RecursiveIterator, SeekableIterator, ArrayAccess, Countable

Итерирует по ошибкам формы.

Этот класс по желанию поддерживает рекурсивную итерацию. Для рекурсивной итерации установите аргумент конструктора $deep в значение true. Теперь каждый элемент, возвращаемый итератором, является либо экземпляром {@link FormError}, либо {@link FormErrorIterator}, если ошибки принадлежат подформе.

Вы также можете обернуть итератор в {@link \RecursiveIteratorIterator}, чтобы преобразовать рекурсивную структуру в плоский список ошибок.

Константы

INDENTATION

Префикс, используемый для отступа вложенных сообщений об ошибках.

Методы

__construct(FormInterface $form, array $errors)

Создаёт новый итератор.

string __toString()

Возвращает все проитерированные сообщения об ошибках в виде строки.

FormInterface getForm()

Возвращает итерируемую форму.

FormError|FormErrorIterator current()

Возвращает текущий элемент итератора.

next()

Перемещает итератор к следующей позиции.

int key()

Возвращает текущую позицию итератора.

bool valid()

Возвращает, является ли позиция итератора действительной.

rewind()

Устанавливает позицию итератора в начало.

bool offsetExists(int $position)

Возвращает, существует ли позиция в итераторе.

FormError|FormErrorIterator offsetGet(int $position)

Возвращает элемент по позиции в итераторе.

offsetSet($position, $value)

Метод не поддерживается.

offsetUnset($position)

Метод не поддерживается.

bool hasChildren()

Возвращает, можно ли выполнить рекурсию по текущему элементу итератора.

getChildren()

Псевдоним для {@link current()}.

int count()

Возвращает количество элементов в итераторе.

seek(int $position)

Устанавливает позицию итератора.

Подробности

__construct(FormInterface $form, array $errors)

Создаёт новый итератор.

Параметры

FormInterface $form Форма с ошибками
array $errors Ошибки формы

Исключения

InvalidArgumentException Если ошибки невалидны

string __toString()

Возвращает все итерируемые сообщения об ошибках в виде строки.

Значение возврата

string Итерируемые сообщения об ошибках

FormInterface getForm()

Возвращает итерируемую форму.

Значение возврата

FormInterface Форма, ошибки которой итерирует этот объект.

FormError|FormErrorIterator current()

Возвращает текущий элемент итератора.

Значение возврата

FormError|FormErrorIterator Ошибка или итератор, содержащий вложенные ошибки.

next()

Перемещает итератор к следующей позиции.

int key()

Возвращает текущую позицию итератора.

Значение возврата

int Позиция с индексом 0.

bool valid()

Возвращает, является ли позиция итератора валидной.

Значение возврата

bool Является ли итератор валидным.

rewind()

Устанавливает позицию итератора в начало.

Этот метод обнаруживает, если ошибки были добавлены в форму после создания итератора.

bool offsetExists(int $position)

Возвращает, существует ли позиция в итераторе.

Параметры

int $position Позиция

Значение возврата

bool Существует ли эта позиция

FormError|FormErrorIterator offsetGet(int $position)

Возвращает элемент по позиции в итераторе.

Параметры

int $position Позиция

Значение возврата

FormError|FormErrorIterator Элемент по заданной позиции

Исключения

OutOfBoundsException Если заданной позиции не существует

offsetSet($position, $value)

Метод не поддерживается.

Параметры

$position
$value

Исключения

BadMethodCallException

offsetUnset($position)

Метод не поддерживается.

Параметры

$position

Исключения

BadMethodCallException

bool hasChildren()

Возвращает, можно ли рекурсивно войти в текущий элемент итератора.

Значение возврата

bool Является ли текущий элемент экземпляром этого класса

getChildren()

Псевдоним {@link current()}.

int count()

Возвращает количество элементов в итераторе.

Обратите внимание, что это не общее количество ошибок, если параметр конструктора $deep был установлен в значение true! В этом случае следует обернуть итератор в {@link \RecursiveIteratorIterator} со стандартным режимом {@link \RecursiveIteratorIterator::LEAVES_ONLY} и посчитать результат.

$iterator = new \RecursiveIteratorIterator($form->getErrors(true));
$count = count(iterator_to_array($iterator));

В качестве альтернативы, установите также аргумент конструктора $flatten в значение true.

$count = count($form->getErrors(true, true));

Возвращаемое значение

int Количество итерированных элементов

seek(int $position)

Устанавливает позицию итератора.

Параметры

int $position Новая позиция

Исключения

OutOfBoundsException Если позиция некорректна

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Form/FormErrorIterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API