symfony2:在控制器中获取表单错误
我通过AJAX调用验证了我的表单,但无法检索“错误消息” 以下是我所说的:symfony2:在控制器中获取表单错误,symfony,symfony-forms,Symfony,Symfony Forms,我通过AJAX调用验证了我的表单,但无法检索“错误消息” 以下是我所说的: $newRdvForm = $this->createForm(new RdvType()); $newRdvForm->handleRequest($request); if ($newRdvForm->isValid()) { // set of instructions to be performed when the form is valid } else { $error
$newRdvForm = $this->createForm(new RdvType());
$newRdvForm->handleRequest($request);
if ($newRdvForm->isValid()) {
// set of instructions to be performed when the form is valid
}
else {
$errors= array();
foreach ($newRdvForm->getErrors() as $key => $error) {
$errors[$key] = $error->getMessage();
}
$response = new Response(json_encode($errors));
$response->headers->set('Content-Type', 'application/json');
return $response;
}
我用的是symfony2.7。上面的代码没有检索到错误消息。也许您的for myte是从多个嵌套类型生成的?尝试使用getErrors(true)
对于表单中的错误列表,您可以将其保留在数组中
foreach ($form->getErrors(true, false) as $error) {
$errors[] = $error->current()->getMessage();
}
我使用$resolver->setDefaults(数组('allow_extra_fields'=>true));当我构建formNow时,我可以检索所有错误消息,但如何检索“输入ID”或“输入名称”??
foreach ($form->getErrors(true, false) as $error) {
$errors[] = $error->current()->getMessage();
}