我正在尝试使用
验证上传的csv文件$validator = Validator::make(
[
'file' => $file,
'extension' => strtolower($file->getMimeType()),
],
[
'file' => 'required|in:csv',
]
);
验证程序无法提供带有消息The file must be a file of type: csv.
如果删除in:csv
,验证器会通过。
我做错了吗?
PS - $file
可用且标准上传文件类型为object(Symfony\Component\HttpFoundation\File\UploadedFile)
答案 0 :(得分:8)
尝试更改
$validator = Validator::make(
[
'file' => $file,
'extension' => strtolower($file->getMimeType()),
],
[
'file' => 'required|in:csv',
]
);
要
$validator = Validator::make(
[
'file' => $file,
'extension' => strtolower($file->getClientOriginalExtension()),
],
[
'file' => 'required',
'extension' => 'required|in:csv',
]
);
答案 1 :(得分:2)
如果您要上传CSV文件,则应允许以下mime类型:
'application/vnd.ms-excel','text/plain','text/csv','text/tsv'
同样在Laravel 5:
$rules = [
'file' => 'required',
'extension' => 'required|mimes:csv'
];
来自文档:(http://laravel.com/docs/5.0/validation)
Validator类提供了几个验证文件的规则,例如 如尺寸, mimes 等。验证文件时,您可以直接通过 将它们与您的其他数据一起放入验证器。
答案 2 :(得分:-1)
{{1}}