我有一个表格,我想在我网站的几个页面中使用。所以我在我的页面中调用这样的方法:
{{ render(controller('ProjectApplicationBundle:Application:form')) }}
我有我的 formAction 方法:
public function formAction()
{
$form = $this->createForm($type,$obj);
if('POST' == $this->getRequest()->getMethod()){
$form->submit($this->getRequest());
if($form->isValid()){
//redirect to a page after the form
}
}
//render the form template ...
}
这不是我的代码,这只是一个例子。
所以我添加创建一个路由来发送我的表单
project_application_form:
pattern: /form
defaults: { _controller: ProjectApplicationBundle:Application:form }
现在我的问题:)
1)我想阻止使用 url 访问我的表单,只允许数据处理。
2)如果出现错误,页面不会重定向,所以表单显示没有布局,所以我想在我呈现表单的页面中获取有错误的表单。
编辑:我可能有第二点的解决方案,但这不是很合适。在我的渲染路由的参数中设置并返回到路由而不是渲染表单。最后我使用一个会话来放置错误。
我希望这对你来说很清楚,对不起我的英语。