ValidationVisitorInterface deprecated
интерфейс ValidationVisitorInterface
deprecated
Проверяет значения по ограничениям, определённым в экземплярах {@link MetadataInterface}.
Этот интерфейс является реализацией паттерна проектирования Visitor. Значение проверяется, сначала передав его методу {@link validate}. Этот метод определит соответствующий {@link MetadataInterface} для проверки значения. Затем он вызовет метод {@link MetadataInterface::accept} этого метаданных. accept() делает две вещи:
- Он вызывает {@link visit}, чтобы проверить значение по ограничениям метаданных.
- Он вызывает accept() для всех вложенных экземпляров метаданных с соответствующими значениями, извлечёнными из текущего значения. Например, если текущие метаданные представляют класс, а текущее значение — объект этого класса, метаданные содержат вложенные экземпляры для каждого свойства этого класса. Он пересылает вызов этим вложенным метаданным со значениями соответствующих свойств в исходном объекте.
Методы
| validate(mixed $value, string $group, string $propertyPath, bool $traverse = false, bool $deep = false) Проверяет значение. | ||
| visit(MetadataInterface $metadata, mixed $value, string $group, string $propertyPath) Проверяет значение по ограничениям, определённым в некоторых метаданных. |
Подробности
validate(mixed $value, string $group, string $propertyPath, bool $traverse = false, bool $deep = false)
Проверяет значение.
Если значение является массивом или итерируемым объектом, можно установить параметр $traverse в true, чтобы пройтись по коллекции и проверить каждый элемент. Если эти элементы могут быть коллекциями снова, и вы хотите пройтись по ним рекурсивно, установите параметр $deep тоже в true.
Если вы установите $traversable в true, посетитель всё равно попытается найти метаданные для коллекции и проверить её ограничения. Если такие метаданные не найдены, посетитель игнорирует это и только итерирует коллекцию.
Если вы не установите $traversable в true, и посетитель не найдёт метаданные для данного значения, он завершится с исключением.
Параметры
| mixed | $value | Значение для проверки. |
| string | $group | Группа проверки для проверки. |
| string | $propertyPath | Текущий путь к свойству в графе проверки. |
| bool | $traverse | Нужно ли пройтись по значению, если оно итерируемое. |
| bool | $deep | Нужно ли рекурсивно пройтись по вложенным итерируемым значениям. |
Исключения
| NoSuchMetadataException | Если для данного значения не может быть найдено никаких метаданных. |
visit(MetadataInterface $metadata, mixed $value, string $group, string $propertyPath)
Проверяет значение по ограничениям, определённым в некоторых метаданных.
Этот метод реализует паттерн проектирования Visitor. См. также {@link ValidationVisitorInterface}.
Параметры
| MetadataInterface | $metadata | Метаданные, содержащие ограничения. |
| mixed | $value | Значение для проверки. |
| string | $group | Группа проверки для проверки. |
| string | $propertyPath | Текущий путь к свойству в графе проверки. |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Validator/ValidationVisitorInterface.html