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

Правило Language

Правило Language относится к секции form и проверяет, что переданное значение является допустимым кодом языка. Обычно применяется к полям формы, в которых пользователь указывает язык, например, в настройках профиля или при создании многоязычного контента. Правило принимает значение языка в формате ISO 639-1, например 'en', 'ru' или 'de'.

Синтаксис

#[Language]

Пример

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

<?php namespace AppForm; use SymfonyComponentFormAbstractType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentOptionsResolverOptionsResolver; use SymfonyComponentValidatorConstraintsLanguage; class ArticleType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->add('language', null, [ 'constraints' => [ new Language(), ], ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => null, ]); } } ?>

Пример

Давайте отправим в форму корректный код языка 'en' и проверим валидность:

<?php namespace AppController; use AppFormArticleType; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; class ArticleController extends AbstractController { public function index(Request $request): Response { $form = $this->createForm(ArticleType::class); $form->submit(['language' => 'en']); if ($form->isValid()) { return new Response('valid'); } return new Response('invalid'); } } ?>

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

valid

Пример

Давайте отправим в форму некорректный код языка 'xx' и проверим валидность:

<?php namespace AppController; use AppFormArticleType; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; class ArticleController extends AbstractController { public function index(Request $request): Response { $form = $this->createForm(ArticleType::class); $form->submit(['language' => 'xx']); if ($form->isValid()) { return new Response('valid'); } return new Response('invalid'); } } ?>

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

invalid

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

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