LegacyExecutionContext устаревший
class LegacyExecutionContext extends ExecutionContext
устаревший
Контекст выполнения, совместимый со старой API (< 2.5).
Методы
| __construct(ValidatorInterface $validator, mixed $root, MetadataFactoryInterface $metadataFactory, TranslatorInterface $translator, string|null $translationDomain = null) Создаёт новый контекст. | ||
| setNode(mixed $value, object|null $object, MetadataInterface $metadata = null, string $propertyPath) Устанавливает текущее проверяемое значение. | из ExecutionContext | |
| setGroup(string|null $group) Устанавливает текущую проверяемую группу. | из ExecutionContext | |
| setConstraint(Constraint $constraint) Устанавливает текущее проверяемое ограничение. | из ExecutionContext | |
| addViolation(string $message, array $parameters = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null) Добавляет нарушение в текущем узле графа проверки. | из ExecutionContext | |
| ConstraintViolationBuilderInterface | buildViolation(string $message, array $parameters = array()) Возвращает билдер для добавления нарушения с расширенной информацией. | из ExecutionContext |
| ConstraintViolationListInterface | getViolations() Возвращает нарушения, сгенерированные валидатором до текущего момента. | из ExecutionContext |
| ValidatorInterface | getValidator() Возвращает валидатор. | из ExecutionContext |
| mixed | getRoot() Возвращает значение, с которого началась проверка в графе объектов. | из ExecutionContext |
| mixed | getValue() Возвращает значение, которое в данный момент проверяет валидатор. | из ExecutionContext |
| object|null | getObject() Возвращает текущий проверяемый объект. | из ExecutionContext |
| MetadataInterface|null | getMetadata() Возвращает метаданные для текущего проверяемого значения. | из ExecutionContext |
| string | getGroup() Возвращает группу проверки, которая в данный момент проверяется. | из ExecutionContext |
| string|null | getClassName() Возвращает имя класса текущего узла. | из ExecutionContext |
| string|null | getPropertyName() Возвращает имя свойства текущего узла. | из ExecutionContext |
| string | getPropertyPath(string $subPath = '') Возвращает путь к свойству значения, которое в данный момент проверяет валидатор. | из ExecutionContext |
| addViolationAt(string $subPath, string $message, array $parameters = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null) Добавляет нарушение в узел графа проверки со заданным путём к свойству относительно текущего пути к свойству. | из ExecutionContext | |
| validate(mixed $value, string $subPath = '', null|string|string[] $groups = null, bool $traverse = false, bool $deep = false) Проверяет данное значение в рамках текущей проверки. | из ExecutionContext | |
| validateValue(mixed $value, Constraint|Constraint[] $constraints, string $subPath = '', null|string|string[] $groups = null) Проверяет значение по ограничению. | из ExecutionContext | |
| MetadataFactoryInterface | getMetadataFactory() Возвращает используемую фабрику метаданных. | из ExecutionContext |
| markGroupAsValidated(string $cacheKey, string $groupHash) Помечает объект как проверенный в конкретной группе проверки. | из ExecutionContext | |
| bool | isGroupValidated(string $cacheKey, string $groupHash) Возвращает, был ли объект проверен в конкретной группе проверки. | из ExecutionContext |
| markConstraintAsValidated(string $cacheKey, string $constraintHash) Помечает ограничение как проверенное для объекта. | из ExecutionContext | |
| bool | isConstraintValidated(string $cacheKey, string $constraintHash) Возвращает, было ли ограничение проверено для объекта. | из ExecutionContext |
| markObjectAsInitialized(string $cacheKey) Помечает, что объект был инициализирован. | из ExecutionContext | |
| bool | isObjectInitialized(string $cacheKey) Возвращает, был ли объект инициализирован. | из ExecutionContext |
Подробности
__construct(ValidatorInterface $validator, mixed $root, MetadataFactoryInterface $metadataFactory, TranslatorInterface $translator, string|null $translationDomain = null)
Создаёт новый контекст.
Параметры
| ValidatorInterface | $validator | Валидатор |
| mixed | $root | Корневое значение графа валидируемых объектов |
| MetadataFactoryInterface | $metadataFactory | |
| TranslatorInterface | $translator | Переводчик |
| string|null | $translationDomain | Домен перевода для сообщений об ошибках |
См. также
| ExecutionContext::__construct() |
setNode(mixed $value, object|null $object, MetadataInterface $metadata = null, string $propertyPath)
Устанавливает текущее валидируемое значение.
Параметры
| mixed | $value | Валидируемое значение |
| object|null | $object | Текущий валидируемый объект |
| MetadataInterface | $metadata | Метаданные валидации |
| string | $propertyPath | Путь к свойству текущего значения |
setGroup(string|null $group)
Устанавливает текущую группу валидации.
Параметры
| string|null | $group | Валидируемая группа |
setConstraint(Constraint $constraint)
Устанавливает текущее валидируемое ограничение.
Параметры
| Constraint | $constraint | Валидируемое ограничение |
addViolation(string $message, array $parameters = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null)
Добавляет нарушение в текущем узле графа валидации.
Примечание: параметры $invalidValue, $plural и $code устарели начиная с версии 2.5 и будут удалены в версии 3.0.
Параметры
| string | $message | Сообщение об ошибке |
| array | $parameters | |
| mixed | $invalidValue | Недопустимое, валидируемое значение |
| int|null | $plural | Число для множественного числа сообщения |
| int|null | $code | Код нарушения |
ConstraintViolationBuilderInterface buildViolation(string $message, array $parameters = array())
Возвращает билдер для добавления нарушения с расширенной информацией.
Вызовите {@link ConstraintViolationBuilderInterface::addViolation()}, чтобы добавить нарушение, когда закончите с настройкой:
$context->buildViolation('Please enter a number between %min% and %max%.')
->setParameter('%min%', 3)
->setParameter('%max%', 10)
->setTranslationDomain('number_validation')
->addViolation();
Параметры
| string | $message | Сообщение об ошибке |
| array | $parameters | Параметры, подставляемые в сообщение об ошибке |
Возвращаемое значение
| ConstraintViolationBuilderInterface | Билдер нарушений |
ConstraintViolationListInterface getViolations()
Возвращает нарушения, сгенерированные валидатором до сих пор.
Возвращаемое значение
| ConstraintViolationListInterface | Список нарушений. |
ValidatorInterface getValidator()
Возвращает валидатор.
Полезно, если хотите валидировать дополнительные ограничения:
public function validate($value, Constraint $constraint)
{
$validator = $this->context->getValidator();
$violations = $validator->validateValue($value, new Length(array('min' => 3)));
if (count($violations) > 0) {
// ...
}
}
Возвращаемое значение
| ValidatorInterface |
mixed getRoot()
Возвращает значение, с которого началась валидация в графе объектов.
Валидатор, получив объект, проходит по свойствам и связанным объектам и их свойствам. Корень валидации — это объект, с которого начался обход.
Текущее значение возвращается методом {@link getValue}.
Возвращаемое значение
| mixed | Корневое значение валидации. |
mixed getValue()
Возвращает значение, которое валидатор в данный момент валидирует.
Если нужно получить объект, который изначально был передан валидатору, используйте {@link getRoot}.
Возвращаемое значение
| mixed | Текущее валидируемое значение. |
object|null getObject()
Возвращает текущий валидируемый объект.
Если валидатор в данный момент валидирует ограничение класса, возвращается объект этого класса. Если он валидирует свойство или метод-геттер, возвращается объект, к которому принадлежит свойство/геттер.
В других случаях возвращается null.
Возвращаемое значение
| object|null | Текущий валидируемый объект или null. |
MetadataInterface|null getMetadata()
Возвращает метаданные для текущего валидируемого значения.
В базовой реализации этот метод возвращает экземпляр {@link Mapping\ClassMetadata} если текущее значение — объект, {@link Mapping\PropertyMetadata} если текущее значение — значение свойства и {@link Mapping\GetterMetadata} если валидируемое значение — результат вызова метода-геттера.
Если валидируемое значение ни то, ни другое (например, если валидатор был вызван со стандартным значением и ограничением), этот метод возвращает null.
Возвращаемое значение
| MetadataInterface|null | Метаданные текущего валидируемого значения. |
string getGroup()
Возвращает группу валидации, которая в данный момент валидируется.
Возвращаемое значение
| string | Текущая группа валидации. |
string|null getClassName()
Возвращает имя класса текущего узла.
Если метаданные текущего узла не реализуют {@link ClassBasedInterface} или если метаданные недоступны для текущего узла, этот метод возвращает null.
Возвращаемое значение
| string|null | Имя класса или null, если имя класса найти не удалось. |
string|null getPropertyName()
Возвращает имя свойства текущего узла.
Если метаданные текущего узла не реализуют {@link PropertyMetadataInterface} или если метаданные недоступны для текущего узла, этот метод возвращает null.
Возвращаемое значение
| string|null | Имя свойства или null, если имя свойства найти не удалось. |
string getPropertyPath(string $subPath = '')
Возвращает путь к свойству значения, которое в данный момент валидируется валидатором.
Например, рассмотрим следующую структуру объекта:
(Person)---($address: Address)---($street: string)
Когда экземпляр Person передается валидатору, путь к свойству изначально пустой. Когда свойство $address этого человека валидируется, путь к свойству — "address". Когда свойство $street связанного экземпляра Address валидируется, путь к свойству — "address.street".
Свойства объектов предваряются точкой в пути к свойству. Индексы массивов или объектов, реализующих интерфейс {@link \ArrayAccess}, заключены в квадратные скобки. Например, если свойство в предыдущем примере — $addresses и содержит массив экземпляров Address, путь к свойству, сгенерированный для свойства $street одного из этих адресов, будет, например, "addresses[0].street".
Параметры
| string | $subPath | Необязательно. Суффикс, добавляемый к текущему пути к свойству. |
Возвращаемое значение
| string | Текущий путь к свойству. Результатом может быть пустая строка, если валидатор в данный момент валидирует корневое значение графа валидации. |
addViolationAt(string $subPath, string $message, array $parameters = array(), mixed $invalidValue = null, int|null $plural = null, int|null $code = null)
Добавляет нарушение в узел графа валидации с указанным путем к свойству, относительно текущего пути к свойству.
Параметры
| строка | $subPath | Относительный путь к свойству для нарушения |
| строка | $message | Сообщение об ошибке |
| массив | $parameters | Параметры, подставляемые в сообщение об ошибке |
| смешанный тип | $invalidValue | Неверное, проверенное значение |
| целое число | null | $plural | Число для множественного числа сообщения |
| целое число | null | $code | Код нарушения |
validate(смешанный тип $value, строка $subPath = '', null|строка|массив строк $groups = null, булево $traverse = false, булево $deep = false)
Проверяет заданное значение в рамках текущей проверки.
Значение может быть любым значением, распознаваемым используемой фабрикой метаданных (см. {@link MetadataFactoryInterface::getMetadata}), или массивом или итерируемым объектом таких значений.
Обычно вы проверяете значение, которое не является текущим узлом контекста выполнения. В этом случае вы можете передать аргумент {@link $subPath}, который добавляется к текущему пути к свойству при создании нарушения. Например, рассмотрим следующую граф-структуру объекта:
(Person)---($address: Address)---($phoneNumber: PhoneNumber)
^
Когда контекст выполнения останавливается на экземпляре Person, путь к свойству равен "address". Когда вы сейчас проверяете экземпляр PhoneNumber, передайте "phoneNumber" в качестве подпути, чтобы правильно изменить путь к свойству на "address.phoneNumber":
$context->validate($address->phoneNumber, 'phoneNumber');
Все нарушения, сгенерированные во время проверки, будут добавлены в список нарушений, к которому вы можете получить доступ с помощью {@link getViolations}.
Параметры
| смешанный тип | $value | Значение для проверки. |
| строка | $subPath | Путь, который нужно добавить к пути к свойству контекста. |
| null|строка|массив строк | $groups | Группы для проверки. Если вы не передадите никаких групп, будет использоваться текущая группа контекста. |
| булево | $traverse | Выполнять итерацию по значению, если это массив или экземпляр \Traversable. |
| булево | $deep | Выполнять рекурсивную итерацию по значению, если это коллекция коллекций. |
validateValue(смешанный тип $value, Constraint|Constraint[] $constraints, строка $subPath = '', null|строка|массив строк $groups = null)
Проверяет значение по ограничению.
Используйте параметр $subPath для адаптации пути к свойству проверяемого значения. Например, рассмотрим следующую граф-структуру объекта:
(Person)---($address: Address)---($street: string)
^
Когда валидатор проверяет экземпляр Address, путь к свойству, сохраненный в контексте выполнения, равен "address". Когда вы вручную проверяете свойство $street сейчас, передайте подпуть "street", чтобы изменить полный путь к свойству на "address.street":
$context->validate($address->street, new NotNull(), 'street');
Параметры
| смешанный тип | $value | Значение для проверки. |
| Constraint|Constraint[] | $constraints | Ограничение(я) для проверки. |
| строка | $subPath | Путь, который нужно добавить к пути к свойству контекста. |
| null|строка|массив строк | $groups | Группы для проверки. Если вы не передадите никаких групп, будет использоваться текущая группа контекста. |
MetadataFactoryInterface getMetadataFactory()
Возвращает используемую фабрику метаданных.
Значение результата
| MetadataFactoryInterface | Фабрика метаданных. |
markGroupAsValidated(строка $cacheKey, строка $groupHash)
Помечает объект как проверенный в определенной группе проверки.
Параметры
| строка | $cacheKey | Хеш объекта |
| строка | $groupHash | Имя или хеш группы, если это последовательность групп |
булево isGroupValidated(строка $cacheKey, строка $groupHash)
Возвращает, был ли объект проверен в определенной группе проверки.
Параметры
| строка | $cacheKey | Хеш объекта |
| строка | $groupHash | Имя или хеш группы, если это последовательность групп |
Значение результата
| булево | Был ли объект уже проверен для этой группы |
markConstraintAsValidated(строка $cacheKey, строка $constraintHash)
Помечает ограничение как проверенное для объекта.
Параметры
| строка | $cacheKey | Хеш объекта |
| строка | $constraintHash | Хеш ограничения |
булево isConstraintValidated(строка $cacheKey, строка $constraintHash)
Возвращает, было ли ограничение проверено для объекта.
Параметры
| строка | $cacheKey | Хеш объекта |
| строка | $constraintHash | Хеш ограничения |
Значение результата
| булево | Ограничение уже было проверено |
markObjectAsInitialized(строка $cacheKey)
Помечает объект как инициализированный.
Параметры
| строка | $cacheKey | Хеш объекта |
булево isObjectInitialized(строка $cacheKey)
Возвращает, был ли объект инициализирован.
Параметры
| строка | $cacheKey | Хеш объекта |
Значение результата
| булево | Объект уже был инициализирован |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Validator/Context/LegacyExecutionContext.html