感谢你来到这里
我真的很激动
盼望,能有你的支持
捐赠可扫描二维码转账支付
支付宝扫一扫付款
微信扫一扫付款
(微信为保护隐私,不显示你的昵称)
使用 handleRequest()
方法,处理表单提交是很容易的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | use Symfony\Component\HttpFoundation\Request;
// ...
public function newAction(Request $request)
{
$form = $this->createFormBuilder()
// ...
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
// perform some action... / 做一些操作
return $this->redirectToRoute('task_success');
}
return $this->render('AppBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
} |
要了解此方法的更多内容,参考 处理表单提交。
在某些情况下,你可能想要对 “表单被提交的精确时间” 以及 “传入表单的数据” 有更好的控制。不再使用 handleRequest()
方法,而是直接把数据提交到 submit() 方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | use Symfony\Component\HttpFoundation\Request;
// ...
public function newAction(Request $request)
{
$form = $this->createFormBuilder()
// ...
->getForm();
if ($request->isMethod('POST')) {
$form->submit($request->request->get($form->getName()));
if ($form->isValid()) {
// perform some action... / 做一些操作
return $this->redirectToRoute('task_success');
}
}
return $this->render('AppBundle:Default:new.html.twig', array(
'form' => $form->createView(),
));
} |
当通过 “PATCH” 请求来提交表单时,你可能只想更新少数几个提交过来的字段。要实现这个,你可以在 submit()
的第二个参数中传入一个boolean值。传递 false
将删除表单对象中的遗失字段。否则,这些丢失的字段将被设置为null
。
本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。