LoginSignup
1
5

More than 5 years have passed since last update.

Laravel基礎(3)バリデーション

Last updated at Posted at 2018-10-14

バリデーション

コントローラーにvalidate_ruleとvalidateメソッド呼び出しを加えるだけで、送信データの検証ができます。(前回のコードを手直しします)

app/Http/Controllers/PageController.php
・・(一部抜粋)・・

    public function post(Request $request) {
        $validate_rule = ['title' => 'required'];
        $this->validate($request, $validate_rule);
        return view('page.post',['title' => $request->title, 'body' => $request->body]);
    }

titleというフォームのデータは必須項目(required)とするバリデーションです。

index.blade.phpには次のようにバリデーション結果のメッセージを出すように書き加えます。

index.blade.php
・・(一部抜粋)・・

<ul>
@foreach ($errors->all() as $error)
        <li>{{$error}}</li>
@endforeach
</ul>

これでtitleが空の送信で、バリデーションが働き、エラーメッセージが出ると思います。

ただこれだと、エラー時に入力値がクリアされますので、フォームのvalueに古い値を復元できる仕掛けをしておきます。

index.blade.php
・・(一部抜粋)・・

TITLE:  <input type="text" name="title" value="{{old('title')}}">
BODY:   <input type="text" name="body" value="{{old('body')}}">

Laravel基礎(4)データベースを使う>>

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5