我想在laravel 5.8中提交两种形式

时间:2019-10-10 04:34:58

标签: php laravel

  

当第一个表格有效时,然后打开第二个表格。   同样有效,然后提交两个.second表单与第一个表单一起生成   表单数据。

  1. EventController.php

    公共函数create() {

    $categories = Category::with('subcategory')->where('is_active', 1)->get();
    $seat_types = SeatType::where('is_active', 1)->get();
    return view('admin.event.create', compact('categories', 'seat_types'));
    

    }

    公共功能商店(StoreEventRequest $ request) {

    $event_data = $request->all();
    $s_date = date('Y-m-d H:i:s', strtotime($request->start_time));
    $e_date = date('Y-m-d H:i:s', strtotime($request->end_time));
    $period = CarbonPeriod::create($s_date, $e_date);
    $date_range = [];
    $seat_types = SeatType::where('is_active', 1)->get();
    foreach($period as $date)
    {
        $date_range[] = date('d M Y H:i:s', strtotime($date));
    }
    
    return view('admin.event.createSeat', compact('date_range'));
    

    }
    公共功能storeSeat(StoreEventSeatRequest $ request) {

    dd($request->all());    
    

    }

2.event刀片文件:-create.blade.php

<form action="{{ route('event.store') }}" >
..
</form>

3.event座位刀片文件:-createSeat.blade.php

<form action="{{ route('event.seat.store') }}">
..
</form>```

4.Request validation file of event :- StoreEventRequest.php

public function rules()
    {


        return [
            'title' => 'required|max:100',
            'category_id' => 'required',
            'sub_category.*' => 'required',
            'start_time' => 'required|unique:events',
            'end_time' => 'required|unique:events',
            'type' => 'required',
            'address' => 'required|max:200',
            'image.*' => 'mimes:jpeg,png,jpg,gif,svg',
            'image' => 'required|array|min:2',
            'banner' => 'required|image|mimes:jpeg,png,jpg,gif,svg',
        ];
    }

5.Request validation file of eventseat :- StoreEventSeatRequest.php

public function rules()

    {
        return [
            'seat_type.*' => 'required',
            'quantity.*' => 'required|numeric|gt:0',
        ];
    }

1 个答案:

答案 0 :(得分:1)

如果您不喜欢javascript,请坚持使用传统形式。仅使用后端处理就可以做到这一点。

  

Form1->收集数据并发布到服务器。验证form1数据并   将字段保存在用户会话重定向中的数组中,形成表格2

     

Form2->收集数据并发布到服务器。验证form2数据。

从会话,步骤1数据,当前请求的步骤2中保存会话。

如果用户需要在任何页面上按回,就可以棘手。您需要查看会话,并查看该步骤中是否已经有会话表单数据。然后,您可以将其传递给视图,以使用较早的数据重新填充表单。