2
我想有提交的JavaScript的一種形式,它僅包含一個複選框。但由於空的複選框不會發送請求中的密鑰,因此Symfony不知道要提交的表單。那麼還有沒有那麼瘋狂的解決方案,或者是這種「bug」。Symfony的3.3複選框唯一形式沒有提交
形式:
$newsletterForm = $this->formFactory->create(NewsletterType::class, $userToEdit);
$newsletterForm->handleRequest($request);
if ($this->newsletterFormHandler->handle($newsletterForm)) {
$this->session->getFlashBag()->add('notice', 'flash_message.newsletter_changed');
return $response;
}
處理程序::
public function handle(FormInterface $form): bool
{
if (!$form->isSubmitted() || !$form->isValid()) {
return false;
}
$this->userManager->update($form->getData());
return true;
}
視圖:
{{ form_start(NewsletterForm) }}
{{ form_row(NewsletterForm.subscribingNewsletter, {
attr: {class: 'js-newsletter-toggle'}
}) }}
{{ form_end(NewsletterForm) }}