Forms Laravel:多文件上载,输入::hasFile(键)始终为false
我用以前的生成器工具从中生成了一个多上传表单 这导致Forms Laravel:多文件上载,输入::hasFile(键)始终为false,forms,validation,file-io,laravel,Forms,Validation,File Io,Laravel,我用以前的生成器工具从中生成了一个多上传表单 这导致 <input multiple="true" accept="image/*" required="true" id="file[]" type="file" name="file[]"> 当然,验证程序总是失败,因为Input::get('file')不返回文件对象。如何修改代码以捕获提交的文件?谢谢您的帮助,Kestutis的回答很清楚。在Laravel中定义文件表单的常用方法是 echo Form::open(array(
<input multiple="true" accept="image/*" required="true" id="file[]" type="file" name="file[]">
当然,验证程序总是失败,因为Input::get('file')不返回文件对象。如何修改代码以捕获提交的文件?谢谢您的帮助,Kestutis的回答很清楚。在Laravel中定义文件表单的常用方法是
echo Form::open(array('url' => 'foo/bar', 'files' => true))
此选项使用enctype='multipart/form data'设置正确的加密类型
使用laravel表单生成器“前”,您必须使用
Former::open_for_files()
之后,你可以用普通的方式验证表单
if(Input::hasFile('files')) {
Log::info(Input::File('files'));
$rules = array(
...
);
if(!array(Input::File('files')))
$rules["files"] = 'required|image';
else
for($i=0;$i<count(Input::File('files'));$i++) {
$rules["files.$i"] = 'required|image';
}
$validation = Validator::make(Input::all(), $rules);
if ($validation->fails())
{
return ...
}
else {
// everything is ok ...
}
if(输入::hasFile('files')){
日志::信息(输入::文件('files'));
$rules=数组(
...
);
如果(!数组(输入::文件('files'))
$rules[“文件”]=“必需|图像”;
其他的
对于($i=0;$ifails())
{
返回。。。
}
否则{
//一切都很好。。。
}
是否使用'files'=>true打开表单?我从未见过此选项,但我尝试了一下,不幸的是,它没有更改设置正确加密类型的结果(enctype='multipart/form data'
)如果你试图上传文件,这是必要的,更多关于这一点。这里有一篇文章可能会有所帮助,但我不确定它是否回答了你的问题:
Former::open_for_files()
if(Input::hasFile('files')) {
Log::info(Input::File('files'));
$rules = array(
...
);
if(!array(Input::File('files')))
$rules["files"] = 'required|image';
else
for($i=0;$i<count(Input::File('files'));$i++) {
$rules["files.$i"] = 'required|image';
}
$validation = Validator::make(Input::all(), $rules);
if ($validation->fails())
{
return ...
}
else {
// everything is ok ...
}