LaravelでValidationを実装する

バジル
2019-06-07
バジル
2019-06-07

前置き

今回はController内で
Validationを実装してみたいと思います。

Request Classで実装する場合については
別の記事でご紹介したいと思います。

Controllerを編集する

```
<?php

public function store (Request $request)
{

    // ルールを設定
    $rules = [
        'name' => 'required|string|min:1|max:25',
        'date' => 'nullable|date',
    ];


    // 次の引数を渡してValidateする
    $validation = Validator::make($request->all(), $rules);


    if ($validation->fails()){
        return redirect()->back()->withErrors($validation->errors())->withInput();
    }

    (new Members())->insert($request->all());

    return view(‘store’);
}

```
この場合、nameは1文字以上25文字以内、必須、文字列である
Dateは必須ではなく、日付型である
という条件になります。

画面側(blade)実装

```

@if ($errors->has('name'))
<span class="invalid-feedback">{{ $errors->first('title') }}</span>
@endif

@if ($errors->has('date'))
<span class="invalid-feedback">{{ $errors->first('date') }}</span>
@endif

```
次回はRequest Classを使ったValidationについて書きたいと思います。