【问题标题】:i want to submit two form in laravel 5.8我想在 laravel 5.8 中提交两个表单
【发布时间】:2019-10-10 04:34:58
【问题描述】:

当第一个表单有效时打开第二个表单。当第二个表单有效时 也有效然后提交两个。第二个表单是用第一个生成的 表单数据。

  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',
        ];
    }

【问题讨论】:

标签: php laravel


【解决方案1】:

如果您不喜欢 javascript,请坚持使用传统形式。完全有可能只使用后端处理。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 2017-01-05
    • 1970-01-01
    • 2014-08-07
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    相关资源
    最近更新 更多