公式のドキュメントによればLaravelのバリデーションチェック(入力チェック)には3通りのやり方がまとめられてる。
https://readouble.com/laravel/5.5/ja/validation.html
・validateメソッドを使う方法
・フォームリクエストによる方法
・validatorインスタンスによる方法
ここでは3つ目のvalidatorインスタンスを利用する方法をメモしておきます。
<?php
namespace App\Http\Controllers;
use Validator;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostController extends Controller
{
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
])->validate();
}
}
Illuminate\Validation\validatorクラスで定義されています。
makeメソッドでvalidatorインスタンスを生成。
第一引数に入力チェックしたいデータを、第二引数にはそのルールを入れる。
valibateメソッドはバリデーションに失敗した場合の自動的な例外処理とリダイレクトをしてくれます。