发现的解决方案:我没有具体说明我的窗体的建设者的方法。 加上使用setMethod( “POST”)固定我的问题。
我一直在使用的Symfony2最近开始(与学习TDD。我想我不喜欢很容易),并一直与从今天早上我的表格的麻烦。 它用于工作,但现在我似乎无法得到一个工作响应。
我设法查明错误了一下。 Symfony的到达在HttpFoundationRequestHandler类的点,它检查是否应处理该请求或不(在第56行开始)和第59行是其中它打破
} elseif ($request->request->has($name) || $request->files->has($name)) {
所以,如果我得到这个权利,因为它不能在请求查找窗体的名字,它简单地忽略它,相信从未提交表单。 我不明白的是如何这是可能的,因为这可能会导致换页/刷新的唯一事情是用户按表格的“提交”按钮...
如果你们有什么建议或简单的指针我的问题可能是,我会非常感谢!
因为我觉得在一个相当盲目的,我会后我下面的TrinomeClientVideoUploadForm类以及显示和处理表单的请求我的控制器内的功能。
这这里,如果课堂上,我用它来构建形式:
<?php
namespace Trinome\WebVideoViewBundle\Model\Forms;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class TrinomeClientVideoUploadForm extends AbstractType
{
private $name;
public function __construct( $name = "trinome_client_video_upload" )
{
$this->name = $name;
}
/**
* {@inheritdoc}
*/
public function buildForm( FormBuilderInterface $builder, array $options )
{
$builder->add( "client", "text" )
->add( "video", "file" )
->add( "upload", "submit" );
}
/**
* {@inheritdoc}
*/
public function getName()
{
return $this->name;
}
}
这是处理网页在我的(唯一的)控制器的功能:
/**
* @Route("/")
* @Template()
*/
public function indexAction( Request $request )
{
$uploadVideoForm = new UploadVideoFormDataSet();
$form = $this->createForm( new TrinomeClientVideoUploadForm(), $uploadVideoForm );
$form->handleRequest( $request );
if ( $form->isValid() )
{
// It never gets here anyways, so I removed it for this post.
}
return array(
"form" => $form->createView(),
);
}
树枝文件,其中我呈现形式:
{% extends "@BaseViews/base.html.twig" %}
{% block title %}Outil d'upload vidéo Trinome{% endblock %}
{% block stylesheets %}
{% stylesheets '@TrinomeWebVideoViewBundle/Resources/public/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
{% block body %}
<div id="wrapper">
<header>
{% block header %}
{% image '@logo_trinome' %}
<img src="{{ asset_url }}" alt="Logo Trinome" />
{% endimage %}
{% endblock %}
</header>
<div id="content">
{% block content %}
<h1>Connection</h1>
{{ form( form ) }}
{% endblock %}
</div>
</div>
{% endblock %}