Symfony2 表单的奇怪问题
Strange issue with Symfony2 form
当我重新加载页面时,我得到 true
作为方法调用的结果 isSubmited()
。
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
var_dump($form->getData());
die;
}
输出为:
...["submit"]=> NULL...
这里应该是什么问题?
页面加载时,不应提交表单。
您应该检查请求是否为 POST:
if ($request->isMethod('POST')) {
if ($form->isValid()) {
var_dump($form->getData());
die;
}
}
在 Symfony 的视图中提交表单是将数据绑定到它,如果请求是 POST.
,则由 $form->handleRequest($request);
完成
handleRequest 方法从请求中获取 POST 的数据,处理它,然后
运行任何验证。实际上,它只对 GET 上的 POST 请求执行此操作
请求,$form->isSubmitted() returns false.
提示:如果您有通过其他 HTTP 方法提交的表单,请设置它们的方法。
更多详情:
http://symfony.com/doc/current/reference/forms/types/form.html#method
当我重新加载页面时,我得到 true
作为方法调用的结果 isSubmited()
。
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
var_dump($form->getData());
die;
}
输出为:
...["submit"]=> NULL...
这里应该是什么问题?
页面加载时,不应提交表单。
您应该检查请求是否为 POST:
if ($request->isMethod('POST')) {
if ($form->isValid()) {
var_dump($form->getData());
die;
}
}
在 Symfony 的视图中提交表单是将数据绑定到它,如果请求是 POST.
,则由$form->handleRequest($request);
完成
handleRequest 方法从请求中获取 POST 的数据,处理它,然后 运行任何验证。实际上,它只对 GET 上的 POST 请求执行此操作 请求,$form->isSubmitted() returns false.
提示:如果您有通过其他 HTTP 方法提交的表单,请设置它们的方法。
更多详情: http://symfony.com/doc/current/reference/forms/types/form.html#method