0
Prendre la classe suivante:validation passage en tant que données flash de session Laravel: sérialisation de fermeture n'est pas autorisé
class SessionHelper
{
public static function GetViewModel()
{
return unserialize(Session::get('viewModel'));
}
public static function StoreViewModel($object)
{
return Session::flash('viewModel', serialize($object));
}
}
Imaginez que j'ai une méthode de commande d'enregistrement avec ceci dans:
public function PostRegister()
{
$validator = Validator::make(
$values,
$rules,
$messages
);
if($validation->fails())
{
$viewModel->User->Password = NULL;
$viewModel->Validation = $validation->messages();
SessionHelper::StoreViewModel($viewModel);
return Redirect::action("[email protected]");
}
}
Il donne l'erreur suivante:
Serialization of 'Closure' is not allowed
Open: C:\xampp\htdocs\...\app\models\Helpers\SessionHelper.php
5. public static function GetViewModel()
6. {
7. return unserialize(Session::get('viewModel'));
8. }
9.
10. public static function StoreViewModel($object)
11. {
12. return Session::flash('viewModel', serialize($object));
13. }
14.}
Je souhaite être en mesure de transmettre l'objet de validation dans une autre méthode de contrôleur utilisant les fonctions d'action Redirect :: ... Des idées comment je fais ça?
public function GetRegister()
{
if(!$viewModel = SessionHelper::GetViewModel())
{
$viewModel = new RegisterViewModel();
}
return View::make("Authentication/Register", ModelHelper::Prepare($viewModel));
}
Et puis les withErrors est ne va pas travailler est-il ... D'accord, je viens juste avec re -déclarer des bits de code pour l'instant – Jimmyt1988