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 回答