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

Метод add класса ConstraintViolationList

Метод add класса ConstraintViolationList добавляет новую ошибку валидации в коллекцию. Первым параметром передаётся объект, реализующий интерфейс ConstraintViolationInterface. Метод изменяет текущий объект коллекции и возвращает ссылку на самого себя, что позволяет строить цепочки вызовов.

Синтаксис

public function add(ConstraintViolationInterface $violation): static

Пример

Давайте создадим пустую коллекцию и добавим в неё одну ошибку валидации:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentValidatorConstraintViolation; use SymfonyComponentValidatorConstraintViolationList; class ArticleController extends AbstractController { public function index(): Response { $list = new ConstraintViolationList(); $violation = new ConstraintViolation( 'Value should not be blank.', null, [], null, '', null ); $list->add($violation); return new Response((string) $list->count()); } } ?>

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

"1"

Пример

Давайте добавим несколько ошибок и выведем их сообщения:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentValidatorConstraintViolation; use SymfonyComponentValidatorConstraintViolationList; class ArticleController extends AbstractController { public function index(): Response { $list = new ConstraintViolationList(); $list->add(new ConstraintViolation( 'Value should not be blank.', null, [], null, '', null )); $list->add(new ConstraintViolation( 'Value is too short.', null, [], null, '', null )); $messages = []; foreach ($list as $violation) { $messages[] = $violation->getMessage(); } return new Response(implode(' | ', $messages)); } } ?>

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

"Value should not be blank. | Value is too short."

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

  • класс ConstraintViolationList,
    который представляет коллекцию ошибок валидации
  • метод count,
    который возвращает количество ошибок в коллекции
  • метод get,
    который возвращает ошибку по её индексу
  • метод validate,
    который запускает валидацию объекта
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить