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について書きたいと思います。