概要
- laravelのformRequestにて、バリデーションチェック前に実行される
prepareForValidation()
メソッドをまとめる。
prepareForValidationメソッド
-
使用用途はサニタイズ
-
つまり、「送られてきたリクエストの中身に悪意のあるHTML要素が含まれている場合カットする」などの処理をこちらに記載する。
-
例えば下記のようにstrip_tags()関数を使って記載する。
formRequest.phppublic function prepareForValidation() { $input = $this->all(); // リクエストデータから悪意あるHTMLタグとPHPタグを取り除く $input['name'] = strip_tags($input['name']); // リクエストボディーがname要素だけの場合、HTMLタグを取り除いたキーと情報で置き換える $this->replace($input); }
-
あとは下記のようにstringで受け取った整数をintに変換するなどの処理も実施する事ができる。
formRequest.phppublic function prepareForValidation() { $input = $this->all(); // キーがidの値をint型に変換 $input['id'] = (int) $input['id']; // リクエストボディーがid要素だけの場合、置き換えを行う $this->replace($input); }