我需要使用会话传递一个FormType,但是对象太大并且会破坏服务器,甚至是序列化的。
无论如何我可以使用会话传递表单错误,这样我可以稍后将错误应用到另一种形式(相同类型)吗?
答案 0 :(得分: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...
}