Symfony - Сообщения об ошибках формы проверки не похожи на мою сущность ограничений - PullRequest
0 голосов
/ 21 апреля 2020

Я определил ограничения в моей сущности, как указано в документации, подобной приведенной ниже:

/**
 * @ORM\Column(type="float", nullable=true)
 * @Assert\Type(type={"float", "integer"}, message="Budget have to be a number")
 */
private $budget;

/**
 * @ORM\Column(type="string", length=255)
 * @Assert\NotNull
 */
private $statut;

Но когда я отправляю недопустимое значение, выбрасываю форму, то отправляемое сообщение об ошибке не совпадает с моим объект ограничения, но «значение по умолчанию»: «Это значение недопустимо» вместо «Бюджет должен быть числом» в этом примере.

/**
 * @Route("/composition/{id}/edition", name="composition_edition")
 */
public function editionComposition(Composition $composition_edit, Request $request, EntityManagerInterface $manager)
{
    $form = $this->createForm(EditionCompositionType::class, $composition_edit);
    $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid())
        {            
            $manager->persist($composition_edit);
            $manager->flush();

            return $this->json([
                'erreurs' => "ok"
            ], 200);
        }
        else
        {
            $errors = array();
            foreach ($form->all() as $child)
            {
                if (!$child->isValid())
                {
                    $errors[$child->getName()] = (String) $form[$child->getName()]->getErrors();
                }
            }

            return $this->json([
                'erreurs' => $errors
            ], 200);
        }
}

Знаете ли вы, как получить хорошее сообщение об ошибке?

...