我对简单的简单事物感到疯狂!我只想制作一个带有一个文本输入字段和一个验证按钮的小表格,并获取用户输入的值。而且它不起作用。绝对疯狂……我敢肯定这是一件很小的事情,但我无法解决!
这是我的代码:
<?php
namespace PublicBundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
/**
* Description of AccountRecoveryController
*
*/
class AccountRecoveryController extends Controller {
/**
*
* @Route("/account_recovery", name="account_recovery")
*/
function accountRecoveryAction(Request $request){
$form = $this->createFormBuilder()
->add('username', TextType::class, array(
'label' => 'Adresse e-mail',
'attr' => array('placeholder' => 'E-MAIL'),
'mapped' => false
))
->add('submit', SubmitType::class, array(
'label' => 'Submit'
))
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted()){
echo 'ok';
$eMail = $form->get('username')->getData();
echo $eMail;
}
return $this->render('accountRecoveryRequest.html.twig', array(
'form' => $form->createView(),
));
}
}
表单已呈现并可以使用。单击“提交”后,将显示“确定”。 Buuuut $ eMail始终为空...为什么?
有什么主意吗?
谢谢。
答案 0 :(得分:0)
您还应该检查该表单在您的if中是否有效
if ($form->isSubmitted() && $form->isValid()){
....
如果无效,您可以使用
检查错误$form->getErrors(true)
探查器还应为您提供足够的指针,以指示为什么您没有数据,例如无效值等。 而且,您随时可以使用dump()来检查代码中任何位置的值。