首先抱歉我的英语不好。 问题如下:
我尝试在博客系统中添加和编辑帖子。 我的伪代码:
private function getPostForm()
{
$form=$this->createFormBuilder()
->add(...
}
public function addPost()
{
$form=$this->getPostForm... (is a createFormBuilder
// form to create new post
// display form to add - send to updatePost
}
public function editPost()
{
$form=$this->getPostForm... (is a createFormBuilder
// get post id and display form to edit post
// send to updatePost
}
public function updatePost()
{
// get data from post and validate
$form->bind(...
// if validate is true => save
if($form->isValid())....
// if not => get errors and display
else {
// redirect and display errors and post data
}
我的问题 - 当表单无效时,我希望重定向用户以添加/编辑帖子并显示错误,这要归功于用户在发送数据且无效时无法刷新页面(例如 F5 键)。 如何正确操作?
最佳答案
也许,你应该这样做。如果一切正确进行更新和重定向,如果验证失败再次显示 View
public function updatePost()
{
....
if($form->isValid()){
//yours update logic
return $this->redirect(..);
}
return $this->render('create.html.twig', array(
'form' => $form->createView();
));
}
关于php - Symfony 2 Form - 表单无效时刷新保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33389676/