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.0/Symfony/Component/Validator/ValidationVisitorInterface.html