Spec-Zone.ru › Symfony 3.2

LegacyExecutionContext устаревший

class LegacyExecutionContext extends ExecutionContext

устаревший

since version 2.5, to be removed in 3.0.

Контекст выполнения, совместимый со старой 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

Spec-Zone.ru

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