Ich möchte die Formularfehler durchsuchen, aber ich es funktioniert nicht für mich.Wie die Formularfehler durchsuchen
Ich versuchte es ohne Ajax und ich dies ist der Fehler
An exception has been thrown during the rendering of a template ("Notice: Array to string conversion")
in AppBundle:Admin:errors-form.html.twig at line 5.
Ich denke, dass das Problem ist, wie diese Zeile Schleife Zweig mit:
'data' => $this->getErrorMessages($form),
Dies ist der Code
protected function getErrorMessages(\Symfony\Component\Form\Form $form)
{
$errors = array();
foreach ($form->getErrors() as $key => $error) {
$errors[] = $error->getMessage();
}
foreach ($form->all() as $child) {
if (!$child->isValid()) {
$errors[$child->getName()] = $this->getErrorMessages($child);
}
}
return $errors;
}
public function addAction(Request $request)
{
if ($form->isValid()) {
//..
} else {
$view = $this->renderView(
'AppBundle:Admin:errors-form.html.twig', array(
'data' => $this->getErrorMessages($form),
)
);
$response = new JsonResponse(array(
'view' => $view,
'result' => 0,
'message' => 'Invalid form',
)
);
return $response;
}
}
Dies ist die mit JsonResponse zurückgegebene Ansicht im Falle von Fehlern, aber die Fehler werden nicht angezeigt, aber wenn ich einen statischen Text in dieser Ansicht legte es nach
<div id="error">
{% for error in data %}
{{ error }}
{% endfor %}
</div>
können Sie eine exapmle von nach, was 'getErrorMessages' zurückkehrt? – inaliahgle
Das Formular ist mit Ajax, in der Konsole bekomme ich diesen Fehler: 500 (Interner Server Fehler) – hous
@inaliahgle Ich habe es ohne Ajax versucht und ich dies ist der Fehler 'Eine Ausnahme wurde während des Renderns einer Vorlage geworfen ("Hinweis: Array zu String-Konvertierung") in AppBundle: Admin: errors-form.html.twig in Zeile 5. " – hous