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) }}