1 2 3 4 |
<form enctype="multipart/form-data" id="form"> <input type="text" name="name"> <input type="file" name="img"> </form> |
ってあったとして
Ajaxで
new FormData($(‘#form’)[0]);
したものを送るとFormRequestにはnameしか来ないのでimgのバリデーションが通らない
確認方法
$this->request->all();
でもその後コントローラーで
$this->request->all();
するとちゃんとimg入ってる
さんざん悩んで気づいたのが
FormRequest内で
$this->file(‘img’);
ってやると一応存在はしてたんだ
なんかSymfony?使ってるっぽい?
多分このもう一歩先に答えが有るんだろうけど私の頭ではここまでで限界w
FormRequest内にValidationDataメソッドを作成して
1 2 3 4 5 6 |
protected function validationData() { return array_merge($this->request->all, [ 'img' => $this->file('img'), ]); } |
したった。
無理やりデータ追加してるし多分なんか違うんだろうなと思うんだけど
どうせコントローラーにrequestが渡る時にimg上書きされるんだろうし
バリデーションかかれば何でもいいやということで一応解決
でもスッキリしない