gpt4 book ai didi

validation - Symfony2 将表单提交到不同的 Controller 并检查 isValid()

转载 作者:行者123 更新时间:2023-12-04 17:35:52 26 4
gpt4 key购买 nike

我将表单提交给与输出表单的 Controller 不同的 Controller 。

我的问题是如何检查提交的数据是否有效?

我已经尝试了几件事。我要验证的主要内容是“_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 文档中似乎没有涵盖这一点。

提前致谢。

最佳答案

将您的表单创建分成它自己的表单类http://symfony.com/doc/current/book/forms.html#creating-form-classes .

通过这样做,您可以在第二个方法/ Controller 中创建表单,然后使用 handleRequest 将请求绑定(bind)到表单,然后通过执行检查表单是否有效

if ($form->isValid()){...

关于validation - Symfony2 将表单提交到不同的 Controller 并检查 isValid(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com