我在使用Laravel 5的表单时遇到问题。当我将enctype属性指定为' multipart / form-data'我收到令牌不匹配错误。如果删除它,表单始终无法通过我的控制器中指定的验证。
HTML
<form class="lajax" action="{{ action('AlbumController@store') }}" method="POST">
<div class="form-group">
<label>Album Name</label>
<input type="text" name="name" class="form-control">
</div>
<div class="form-group">
<label for="coverFile">Album Cover Image</label>
<input name="cover" type="file" id="coverFile">
<p class="help-block">Example block-level help text here.</p>
</div>
<div class="form-group">
<label for="albumFiles">Album Images</label>
<input type="file" name="photos[]" multiple>
</div>
<button type="submit" class="btn btn-primary">Create Album</button>
{{ csrf_field() }}
</form>
控制器
public function store(Request $request)
{
//request input verification rules
$rules=[
'name'=>'required',
'cover'=>'required|image',
'photos'=>'required|array',
'photos.*'=>'image'
];
//perform validation
$this->validate($request,$rules);
// blah blah
}
具体来说,图像似乎失败了。
错误报告:封面不是图像,照片0不是图像,照片1不是图像.....等等。
请帮忙
答案 0 :(得分:0)
变化:
<form class="lajax" action="{{ action('AlbumController@store') }}" method="POST">
要:
<form method="POST" action="{{ action('AlbumController@store') }}" accept-charset="UTF-8" enctype="multipart/form-data">
在您的控制器中,您可以检查输入:
$request->hasFile('file_input_name');
同时检查Laravel Collective以创建表单:https://laravelcollective.com/
答案 1 :(得分:0)
我发现了错误!它在我的php.ini文件中。我将03的post_max_size更改为1000M。它奏效了。