laravelで動画を投稿ができるアプリを作成中です。
使用しているlaravelのバージョンは5.8です。
動画をstorageに保存、再生などはできるようになったのですが、
フォームリクエストでバリデーションをしようとしてうまくいかず、悩んでいます。
以下がPOSTで送られてきたファイルに関するフォームリクエスト(バリデーション)です。
'file_path' => 'nullable|bail|file|mimes:mp4,mp4v,mpg4|unique:files|max:51200'
・悩んでいること
上記バリデーションルールで、指定されたmimesファイルをPOSTしているのにPOSTすると、なぜかバリデーションに引っかかってしまう。
公式リファレンス内のMIMEタイプと対応する拡張子の完全なリストで動画ファイルのmimesを細かく指定(mp4 mp4v mpg4 video/mp4 video/quicktime)したりもしたのですが、やはりバリデーションに引っかかってしまいました。
「どんなファイルを受け付けるか」はview側、inputのaccept属性でも設定できるようですが、フォームリクエストでの指定はできないのでしょうか?
追記(状況の補足):
フォームリクエストでmimesルールを設定、かつ自分でエラーメッセージを指定しなかった時に表示されるエラーメッセージは以下です。
「file pathにはmp4, mp4v, mpg4タイプのファイルを指定してください。」
mimesルール以外を外すと動画ファイルのアップロードがうまくいくので、mimesルールの設定が適切にできていないのだと考えています。
お手数おかけしますが、アドバイスお願いいたします。
回答1件
あなたの回答
tips
プレビュー