Laravelのバリデーションを試してみる
LaravelでCRUDを実装してみる https://yk5656.hatenablog.com/entry/20210105/1609772400
の続き
コントローラーにvalidateの処理を追加。
$ vi app/Http/Controllers/BookController.php
・・・ public function store(Request $request) { $request->validate([ 'name' => 'required|max:100', 'price' => 'required|integer', ]); Book::create($request->all()); return redirect()->route('book.index')->with('success', '追加しました'); } ・・・
createのビューにエラーメッセージのhtmlを追加。
・・・ @if ($errors->any()) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif ・・・
何も入力せず登録しようとした場合は、requiredのエラーが表示され、
多すぎる文字数を入力したり、数値以外を入力した場合は、下記のようなエラーが表示される。