0

フォームでエラーを取得したいのですが、実際には戻り値が空です。データはコントローラによって受信されます。有効なフォームを送信すると、すべて問題ありません。

これが私のコードです:

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()は正しい結果を返しますが、配列を返したいです。

4

1 に答える 1

0

JsonResponseを使用できます

use Symfony\Component\HttpFoundation\JsonResponse;

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

return $response;
于 2013-07-27T01:33:36.100 に答える