1
我有一个控制器操作,将窗体返回到视图。提交表格时,此表格的验证需要在与返回表格的操作不同的操作中完成。验证表单在不同的控制器动作symfony
这是返回的形式
/**
* @Route("/AjaxAddQuestionForm/{section}")
* @Template
* @ParamConverter("section", class="AppBundle:Section")
*/
public function ajaxAddQuestionFormAction(Request $request, $section)
{
$question = new Question();
$question->setSection($section);
$addQuestionForm = $this->createForm(new AddQuestionType(), $question);
return array(
'section' => $section,
'addAjaxQuestionForm' => $addQuestionForm->createView(),
);
}
行动的样品,这是我目前想获得验证工作的操作。
/**
* @Route("/edit/{form}")
* @Template()
* @ParamConverter("form", class="AppBundle:Form")
*/
public function editAction(Request $request, $form)
{
$em = $this->getDoctrine()->getManager();
(...)
$questionForm = new Question();
$addQuestionForm = $this->createForm(new AddQuestionType(), $questionForm);
$addQuestionForm->handleRequest($request);
if ($addQuestionForm->isValid()) {
$em->persist($questionForm);
$em->flush();
return $this->redirectToRoute('app_form_edit', array('form' => $form_id));
}
(...)
问题是,第二个动作中的验证从不会被调用。任何想法如何我可以得到这个工作?
你设置形式的行动来纠正路线? – malcolm
这是什么意思?我应该怎么做? – Jaimy
检查我的答案。 – malcolm