我想做的很简单:
1)带有提交按钮的单个输入框 2)我想接受任何输入并根据输入重定向用户,所以如果我的网站是 www.example.com 并且用户提交“测试”,那么我想重定向到www.example.com/test
但是,symfony2 文档中缺少示例。我已经能够用这个来构建我的表单:
class VariantType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('urlId', 'text', array('label' => 'tiny.cc/'))
->add('Go', 'submit')
->getForm();
}
public function getName()
{
return 'index';
}
}
这会产生很好的效果,但我意识到我没有提交处理程序。我假设我需要一个 'newAction 函数来接受请求,如文档的不同部分所述:
http://symfony.com/doc/current/book/forms.html
所以我尝试了这个......
public function newAction(Request $request){
$form->handleRequest($request);
if($form->isValid()){
return $this->redirect($this->generateUrl('homepage_id'));
}
}
我的 'homepage_id' 路由处理带有 url 末尾的 'test' 输入的路由。我想我可以转发到我想要的 url,我的路由系统会处理所有事情,这向你展示了我的需求是多么基本。但上面的方法似乎不起作用。我也有一个validation.yml,但我不认为这是我真正的障碍。即使有人可以指出任何解释此类内容的文档,我也会很感激。(symfony2 文档只是没有帮助:它告诉我建议创建一个表单构建器,但没有说明如何提交表单,所以我转到它讨论提交表单的部分,并尝试输入相关的功能,但仍然不起作用。我找不到任何将这些部分组合在一起的示例。)