首页 > 解决方案 > 在刀片中检索会话数据

问题描述

我想创建一个带有验证的多步骤表单,但这些值不会通过会话存储在输入中。

在控制器中我有:

use Illuminate\Support\Facades\Session;

我现在的代码是这样的:

public function addItemStep1(Request $request)
{
    $product = $request->session()->get('product');
        
    return view('admin.items.add', compact('product'))->with([
        'page_name' => __('Add Item')
    ]);
}
    
public function storeNewItemStep1(Request $request)
{
    $validatedData = $request->validate([
        'title' => 'required',
        'body' => 'required'
    ]);

    if(empty($request->session()->get('product')))
    {
        $product = new Items();
        $product->fill($validatedData);
        $request->session()->put('product', $product);
    } else {    
        $product = $request->session()->get('product');
        $product->fill($validatedData);
        $request->session()->put('product', $product);
    }
        
    return redirect('/');

}

验证工作,一切正常,但不幸的是,在发送表单后,刚刚输入的数据没有出现。

<input type="text" class="form-control @error('title') is-invalid @enderror" value="{{ Session::get('title') }}" name="title">

标签: laravel

解决方案


推荐阅读