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

Правило Sequentially

Правило Sequentially относится к группе ограничений валидации Symfony. Оно позволяет объединить несколько ограничений в цепочку, которая проверяется последовательно. Если одно из ограничений не проходит, остальные проверки для данного поля пропускаются. Это полезно, когда нужно избежать избыточных проверок или когда последующее ограничение зависит от результата предыдущего. Правило применяется к свойствам сущностей или к элементам форм.

Синтаксис

#[Sequentially( constraints: [ new NotBlank(), new Length(min: 3), ] )]

Пример

Давайте создадим сущность с полем title, к которому применим правило Sequentially с двумя ограничениями:

<?php namespace AppEntity; use SymfonyComponentValidatorConstraints as Assert; class Article { #[AssertSequentially( constraints: [ new AssertNotBlank(), new AssertLength(min: 3), ] )] private string $title = ''; public function getTitle(): string { return $this->title; } public function setTitle(string $title): void { $this->title = $title; } } ?>

Если поле title пустое, сработает только ограничение NotBlank, а проверка длины будет пропущена.

Пример

Давайте проверим работу правила в контроллере:

<?php namespace AppController; use AppEntityArticle; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentValidatorValidatorValidatorInterface; class ArticleController extends AbstractController { public function validate(ValidatorInterface $validator): Response { $article = new Article(); $article->setTitle(''); $errors = $validator->validate($article); if (count($errors) > 0) { return new Response((string) $errors); } return new Response('valid'); } } ?>

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

"Object(AppEntityArticle).title: This value should not be blank."

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

  • правило NotBlank,
    которое проверяет, что значение не пустое
  • правило Length,
    которое проверяет длину строки
  • правило Collection,
    которое применяет ограничения к элементам массива
  • класс Form,
    который представляет форму в Symfony
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить