0

セッションを使用して FormType を渡す必要がありますが、オブジェクトが大きすぎて、シリアル化されていてもサーバーが壊れます。

セッションを使用してフォームエラーだけを渡すことができる方法はありますか?後でエラーを(同じタイプの)別のフォームに適用できますか?

4

1 に答える 1

1

このようなことはできますが、FormErrorコンテキストが失われ、エラー メッセージ (文字列型) だけが残ります。それはあなたに十分に適していますか?

$form->handleRequest($request);
if ($form-isValid()){
    // form is valid, proceed with logic
}else{
    /** @var FormError[] **/
    $errors = $form->getErrors();
    $text_errors = array();

    if ( count($errors)){   
        foreach ( $error as $e ){
            $text_error[] = $e->getMessage();
        }

        $session = new Session(); // maybe unnecesarry, if you've already created it
        $session->set("my.form.errors", $text_error);
    }

    // Proceed with error handling...   
}
于 2013-10-23T14:04:24.333 に答える