我需要使用会话传递一个 FormType,但是对象太大并且会破坏服务器,甚至是序列化的。
无论如何我可以使用会话传递表单错误,以便稍后将错误应用于另一个表单(相同类型)?
我需要使用会话传递一个 FormType,但是对象太大并且会破坏服务器,甚至是序列化的。
无论如何我可以使用会话传递表单错误,以便稍后将错误应用于另一个表单(相同类型)?
你可以做这样的事情,但你会失去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...
}