從 0 開始的 Laravel- post 資料到後端,與表單驗證

分享:
標籤: Laravel PHP

laravel 的 route 如果是要顯示頁面的話我們會使用 get,像是:

Route::get('/products', [ProductController::class, 'index']);

 

我們如果要用 post 的方法把資料傳到後端的話,可以先建立這樣的表單。

<form action="/products/create" method="post">
  <input type="hidden" name="_token" value="{{ csrf_token() }}">
  <div class="mb-2">
    <label for="">名稱</label>
    <input type="text" class="form-control" name="name">
  </div>
  <button class="btn btn-info" type="submit">送出</button>
</form>

 

接著準備 route

Route::post('/products/create',[ProductController::class, 'create']);

 

在 ProductController 那邊就可以接收資料了:

public function create(Request $request)
    {
        echo $request->name;
    }

 

laravel 也可以很輕易地幫我們做表單驗證,use 這些東西:

use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;

 

驗證表單,失敗就到輸入資料的頁面:

public function create(Request $request)
    {
        $rules = [
            'name' => 'required|string|min:3|max:20',
        ];
        $validator = Validator::make($request->all(),$rules);
        if ($validator->fails()) {
            return redirect('/products')
                ->withInput()
                ->withErrors($validator);
        }
        echo $request->name;
    }

 

簡單的範例說明。

 

課程推薦

和我們交流

加入我們的社群,裡面會有一些技術的內容、有趣的技術梗,以及職缺的分享,歡迎和我們一起討論。