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

Правило Country

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

Синтаксис

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

Пример

Давайте создадим форму с полем country и повесим на него правило Country:

<?php namespace App\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints\Country; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('country', TextType::class, [ 'constraints' => [ new Country(), ], ]); } } ?>

Если пользователь введёт корректный код страны, например 'US', форма пройдёт валидацию. Если ввести некорректный код, например 'XX', валидация завершится ошибкой.

Пример

Давайте обработаем форму в контроллере и выведем результат валидации:

<?php namespace App\Controller; use App\Form\ArticleType; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(Request $request): Response { $form = $this->createForm(ArticleType::class); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $data = $form->getData(); return new Response($data['country']); } return $this->render('article/index.html.twig', [ 'form' => $form->createView(), ]); } } ?>

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

US

Пример

Давайте зададим собственное сообщение об ошибке для правила Country:

<?php namespace App\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Validator\Constraints\Country; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('country', TextType::class, [ 'constraints' => [ new Country([ 'message' => 'Please enter a valid country code.', ]), ], ]); } } ?>

Теперь при вводе некорректного кода пользователь увидит сообщение 'Please enter a valid country code.'.

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

  • правило Country,
    которое проверяет код страны
  • правило Currency,
    которое проверяет код валюты
  • правило Language,
    которое проверяет код языка
  • правило Locale,
    которое проверяет код локали
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить