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

Правило MacAddress

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

Синтаксис

new MacAddress()

Пример

Давайте создадим форму с полем mac и навесим на него правило MacAddress. Значение поля должно быть корректным MAC-адресом:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentFormExtensionCoreTypeTextType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; use SymfonyComponentValidatorConstraintsMacAddress; class ArticleController extends AbstractController { #[Route('/article/mac', name: 'article_mac')] public function mac(Request $request): Response { $form = $this->createFormBuilder() ->add('mac', TextType::class, [ 'constraints' => [ new MacAddress(), ], ]) ->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { return new Response('valid mac'); } return $this->render('article/mac.html.twig', [ 'form' => $form->createView(), ]); } } ?>

Если ввести значение '00:1A:2B:3C:4D:5E', форма пройдёт валидацию и вернёт результат:

"valid mac"

Пример

Давайте проверим неверное значение. Например, адрес '00:1A:2B:3C:4D' содержит только пять групп, поэтому правило выдаст ошибку:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentFormExtensionCoreTypeTextType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; use SymfonyComponentValidatorConstraintsMacAddress; class ArticleController extends AbstractController { #[Route('/article/mac-invalid', name: 'article_mac_invalid')] public function macInvalid(Request $request): Response { $form = $this->createFormBuilder() ->add('mac', TextType::class, [ 'constraints' => [ new MacAddress(), ], ]) ->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { return new Response('valid mac'); } return $this->render('article/mac.html.twig', [ 'form' => $form->createView(), ]); } } ?>

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

"This value is not a valid MAC address."

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

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