symfony2表单无效且没有错误

时间:2014-08-10 22:00:31

标签: php forms symfony

我有以下控制器:

public function postStuffAction(Request $request)
    {
        $form = $this->createFormBuilder()
            ->add("name", "text")
            ->getForm();

        $form->handleRequest($request);

        return $form->isValid(); //False
        //return $form->getErrorsAsString(); //No errors
    }

这是我的表格:

 <form enctype="multipart/form-data" method="post" action="http://mydomain/resource/1?XDEBUG_SESSION_START=appointmed">
     <input type="text" name="name" />
     <button class="btn btn-success" type="submit"> Upload file </button>
 </form>

此表单位于不同的域中,不会被重新命名为twig模板,只是一个简单的html表单。

当控制器收到请求时,表单总是空的,可能会发生什么?

1 个答案:

答案 0 :(得分:2)

如果您要创建表单并在Twig中显示,则只能使用FormBuilder的内置验证功能。

如果要验证来自手动构建的表单或从其他域发布的表单的输入,则需要访问Request对象,将其映射到您的实体,然后调用验证器服务。例如:

// Setup entity and map Request
$entity = new Entity();
$entity->setName($request->get('name', null));

// Validate the entity
$validator = $this->get('validator');
$errors = $validator->validate($entity);
if (count($errors) > 0) {           
    return $errors
}