現在アップロードしたファイルがcsvのファイルであるかどうかのバリデーションを行っています。
laravel 8.xのredoubleを見るとmimesルール
もmimetypsルール
も結局ファイルを読み込んでMIMEタイプ
を推測してあると書いてあります。
なのでmimesルール
で指定した拡張子に対応するMIMEタイプ
をmimetypesルール
の引数に指定すればいいんじゃないかと思うのですが、どのような使い分けをするのでしょうか。
またcsvファイルのMIMEタイプ
のバリデーションを行う場合はこの参考記事のmimes
、mimetypes
のように指定するのが正解なのでしょうか。ご回答よろしくお願いします。
csvバリデーションの参考記事に掲載されていたルール
php
1/** 2 * Get the validation rules that apply to the request. 3 * 4 * @return array 5 */ 6 public function rules() 7 { 8 return [ 9 'csv_file' => [ 10 'required', 11 'max:1024', // php.iniのupload_max_filesizeとpost_max_sizeを考慮する必要があるので注意 12 'file', 13 'mimes:csv,txt', // mimesの都合上text/csvなのでtxtも許可が必要 14 'mimetypes:text/plain', 15 ], 16 ]; 17 }
あなたの回答
tips
プレビュー