フォームを出力するコントローラーとは異なるコントローラーにフォームを送信しています。
私の質問は、提出されたデータが有効であることをどのように確認するのですか?
私はいくつかのことを試しました。検証したい主なものは「_token」です
どうすればいいですか?
これは私のコードのサンプルです。
/*
Out put the search form
*/
public function searchAction(Request $request)
{
$form = $this->createFormBuilder()
->setAction($this->generateUrl('email_search')) # <- route to the search process controler
->setMethod('GET')
->add('userSearch', 'text',array(
'required' => true,
'label' => false,
'attr' => array(
'placeholder' => 'Search User Email',
)
)
)
->add('Serch', 'submit')
->getForm();
return $this->render(
'TwigBundle:Search:Search.html.twig',
array(
'form' => $form->createView( )
)
);
}
/*
Process the search
*/
public function emailResultsAction(Request $request){
$form = $this->createFormBuilder()->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
$ret = $_POST;
}else{
$ret = 'failed';
}
/*
... Process the search
*/
return new Response(print_r($ret));
}
これにより、次のエラーが発生します。
"Call to undefined function Acmy\UserBundle\Controller\getForm() in xxxxxxx"
自分で検索を検証できますが、_token を検証する方法がわかりません。
これは、Symfony2 のドキュメントではカバーされていないようです。
前もって感謝します。