LoginSignup
0
0

More than 3 years have passed since last update.

Laravelのバリデーションについて

Posted at

バリデーションについてまとめてみた。

バリデーションとは、ルールに対してあっているか、あっていないかを判断する。
postController

public function update(Request $request)
{
  $request->validate([
    'name' => 'require|string|max:20', //入力必須、文字列、20文字以内
    'text' => 'require|max:300',       //入力必須、300じ以内 
    'date' => 'require|date',          //入力必須、日付
    'email' => 'require|email',        //入力必須、email型
  ]);
  return view ('posts.index',['post'=>true]);        //viewに返す
}

postControllerにpostにフォームで送られたデータをバリデーションする。

'フォーム名' => 'バリデーションルール',

バリデーションルールに通れば、ビューに返すことができ、できなければ、自動でリダイレクトする。

自動リダイレクトしないパターン

Validatorクラスのmakeメソッドを使う。(use Validator;)

postController

public function update(Request $request)
{
  $validator = Validator::make($request->all(),[
    'name' => 'require|string|max:20', 
    'text' => 'require|max:300',     
    'date' => 'require|date',          
    'email' => 'require|email',
    ]);
   return view('post',['post'=> true]);
   //バリデーションエラーだった場合の処理
   if($validator->fails()) {
      return redirect('posts.error',['post'=>fail]);
   } 
}

この場合でも自動リダイレクトさせたい場合は、 ->validate(); とする。

たくさんのバリデーションルールがあるので、いろいろ試して見ると良い。

0
0
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
0
0