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

Правило Url

Правило Url относится к ограничениям валидации Symfony и вешается на свойство сущности или на поле формы. Оно проверяет, что переданное значение является допустимым URL-адресом. Первым параметром можно передать сообщение об ошибке, которое будет показано пользователю при неудачной валидации.

Синтаксис

#[Url(message: 'error message')]

Пример

Давайте повесим правило Url на свойство site сущности:

<?php namespace App\Entity; use Symfony\Component\Validator\Constraints as Assert; class Article { #[Assert\Url(message: 'Invalid URL')] private string $site = ''; public function getSite(): string { return $this->site; } public function setSite(string $site): void { $this->site = $site; } } ?>

Пример

Давайте проверим значение 'https://code.mu' с помощью валидатора:

<?php namespace App\Controller; use App\Entity\Article; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Validator\Validator\ValidatorInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(ValidatorInterface $validator): Response { $article = new Article(); $article->setSite('https://code.mu'); $errors = $validator->validate($article); if (count($errors) > 0) { return new Response((string) $errors); } return new Response('valid'); } } ?>

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

"valid"

Пример

Давайте проверим некорректное значение 'abcde':

<?php namespace App\Controller; use App\Entity\Article; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Validator\Validator\ValidatorInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(ValidatorInterface $validator): Response { $article = new Article(); $article->setSite('abcde'); $errors = $validator->validate($article); if (count($errors) > 0) { return new Response((string) $errors); } return new Response('valid'); } } ?>

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

"Invalid URL"

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

  • правило Email,
    которое проверяет корректность email-адреса
  • правило Regex,
    которое проверяет значение по регулярному выражению
  • правило NotBlank,
    которое проверяет, что значение не пустое
  • правило Length,
    которое проверяет длину строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить