Ajax:在控制器中获取错误表单并使用json重新发送它们

时间:2013-07-26 22:14:14

标签: php ajax forms symfony

我想在我的表单中获取错误,但实际上返回为空。 数据由控制器接收。当我发送有效表格时,一切正常。

这是我的代码:

if ($request->getMethod() == 'POST') {

            $form->bind($request);

            if ($form->isValid()) {
               // This part is OK
            }
            else {

                $val = array();

                    // I get errors : 
                $val['error'] = $form->getErrors();
                echo json_encode($val);

                $response = new Response;
                $response->headers->set('Content-Type', 'application/json');

                return $response;

            }
        }

我尝试在表单构建器中添加array('error_bubbling'=>true),但返回时没有显示任何字段有错误...

函数getErrorsAsString()返回正确的结果,但我希望它返回一个数组。

1 个答案:

答案 0 :(得分:0)

你可以使用JsonResponse

use Symfony\Component\HttpFoundation\JsonResponse;

$response = new JsonResponse();
$response->setData(array(
    'data' => 123
));

return $response;