Я определил ограничения в моей сущности, как указано в документации, подобной приведенной ниже:
/**
* @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);
}
}
Знаете ли вы, как получить хорошее сообщение об ошибке?