Чтобы создать checkbox поле в Symfony 4, вы можете использовать компонент FormBundle и его класс FormBuilder.
Вот пример:
1. Установите компонент FormBundle, если вы еще этого не сделали:
composer require symfony/form
2. В вашем контроллере создайте форму с помощью FormBuilder:
use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentFormExtensionCoreTypeCheckboxType; use SymfonyComponentFormExtensionCoreTypeSubmitType; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentRoutingAnnotationRoute; class MyController extends AbstractController { /** * @Route("/form", name="my_form") */ public function myForm(Request $request) { $form = $this->createFormBuilder() ->add('agreeTerms', CheckboxType::class, [ 'label' => 'Я соглашаюсь с условиями', 'required' => true, ]) ->add('submit', SubmitType::class, ['label' => 'Отправить']) ->getForm(); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { // Поле checkbox было выбрано $data = $form->getData(); // ... } return $this->render('my/form.html.twig', [ 'form' => $form->createView(), ]); } }
3. Создайте соответствующий шаблон form.html.twig:
{{ form_start(form) }} {{ form_widget(form) }} {{ form_end(form) }}
Вот и все! Теперь у вас есть форма с checkbox полем, которую вы можете использовать в вашем Symfony 4 проекте. Пользователь должен будет отметить checkbox перед отправкой формы, в противном случае форма не будет действительной и не будет отправлена.