РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1208 of 1361 menu

Команда debug:validator

Команда debug:validator показывает все ограничения валидации, которые применяются к указанному классу. Первым параметром передаётся полное имя класса, для которого нужно вывести правила. Команда полезна при отладке форм и сущностей, когда нужно понять, какие правила валидации реально загружены в приложении.

Синтаксис

php bin/console debug:validator [class]

Пример

Давайте создадим сущность Article с несколькими правилами валидации через атрибуты:

<?php namespace AppEntity; use SymfonyComponentValidatorConstraints as Assert; class Article { #[AssertNotBlank] #[AssertLength(min: 3, max: 255)] private string $title = ''; #[AssertNotBlank] private string $text = ''; #[AssertPositive] private int $views = 0; #[AssertType('bool')] private bool $published = false; #[AssertNotNull] private DateTimeInterface $createdAt; } ?>

Теперь выведем правила валидации для этого класса:

php bin/console debug:validator 'AppEntityArticle'

Результат выполнения команды:

AppEntityArticle +---------------+------------------------------------------------------------+ | Property | Constraints | +---------------+------------------------------------------------------------+ | title | NotBlank | | | Length(min: 3, max: 255) | | text | NotBlank | | views | Positive | | published | Type(bool) | | createdAt | NotNull | +---------------+------------------------------------------------------------+

Пример

Давайте создадим класс User с вложенным объектом и ограничением Valid, чтобы посмотреть, как команда отображает вложенные правила:

<?php namespace AppEntity; use SymfonyComponentValidatorConstraints as Assert; class User { #[AssertNotBlank] #[AssertEmail] private string $email = ''; #[AssertLength(min: 8)] private string $password = ''; #[AssertValid] private Address $address; } ?>
<?php namespace AppEntity; use SymfonyComponentValidatorConstraints as Assert; class Address { #[AssertNotBlank] private string $city = ''; #[AssertLength(min: 5, max: 10)] private string $zip = ''; } ?>

Выполним команду для класса User:

php bin/console debug:validator 'AppEntityUser'

Результат выполнения команды:

AppEntityUser +---------------+--------------------------------+ | Property | Constraints | +---------------+--------------------------------+ | email | NotBlank | | | Email | | password | Length(min: 8) | | address | Valid | +---------------+--------------------------------+

Пример

Команда также умеет принимать путь к конкретному свойству класса. Давайте выведем правила только для поля title сущности Article:

php bin/console debug:validator 'AppEntityArticle::$title'

Результат выполнения команды:

AppEntityArticle::$title +---------------+--------------------------------+ | Property | Constraints | +---------------+--------------------------------+ | title | NotBlank | | | Length(min: 3, max: 255) | +---------------+--------------------------------+

Смотрите также

  • команда debug:form,
    которая выводит информацию о форме и её полях
  • команда debug:container,
    которая показывает зарегистрированные сервисы
  • команда debug:translation,
    которая выводит статус переводов
  • команда debug:autowiring,
    которая показывает доступные для автовайринга сервисы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить