В Symfony я создаю форму с четырьмя возможными вариантами в качестве переключателей. Когда пользователь отправляет форму с выбором, я беру предоставленные данные формы (выбор пользователя) и показываю ее на веточке. Проблема в том, что иногда представленные данные формы являются нулевыми, даже если пользователь выбрал радио, а иногда выбранный выбор передан и отображен на ветке. Также иногда, когда вы возвращаете нуль в ветке и обновляете страницу, данные отображаются, но это не всегда происходит. Почему эта несогласованность? Как я могу это решить? БлагодаряДанные формы формы Symfony NULL
public function playAction(Request $request){
$data = $this->getDbQuestion();
$questionData = $data[0];
$questionID = $questionData->getId();
dump($questionData);
$answerData = $data[1];
dump($answerData);
$form = $this->createFormBuilder($answerData)
->add('answers', EntityType::class, array(
'class' => 'QuizBundle:Answer',
'query_builder' => function (EntityRepository $er) use ($questionID) {
return $er->createQueryBuilder('a')
->where('a.question = :qID')
->setParameter('qID', $questionID);
},
'multiple'=>false,
'expanded'=>true,
'error_bubbling' => true,
'choice_label' => 'answer',
))
->add('Submit',SubmitType::class, array('label' => 'Send Answer'))
->getForm();
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()) {
$formData = $form->get('answers')->getData();
$errors = $form->getErrors();
return $this->render('QuizViews/correctAnswer.html.twig', array('ss' => $formData, 'errors' => $errors));
}
return $this->render('QuizViews/playQuiz.html.twig', array('form' => $form->createView(),'question' => $questionData));
}
Dumping the submitted form data in twig
<a href="/quiz/question">
<input type="button" value="Start Quiz" />
</a>
<br>
FormData Correct {{ dump(ss) }}
Form Errors {{ dump(errors) }}
Adding
$form->isValid()
I get this in twig when the answer is not submitted.
Hi there Otonel. Вы очень близки. Не расстраивайтесь. Попробуйте добавить дополнительные отладочные или дамп-операторы, чтобы выяснить, что может быть неправильным. –