我正在尝试为家庭作业制作一张专辑。但是,我陷入了一个错误。我正在尝试使用验证,但无法正常工作。
我正在逐步使用youtube toturial帮助我制作这张专辑。但是,没有解释此特定问题。我还阅读了有关验证的laravel网站部分。我也没有得到任何答案。最后,我在StackOverflow上查找了一些类似的问题,但是却没有得到想要的答案。
我收到以下错误:“页面无法正确重定向”
我的albumController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class albumController extends Controller
{
public function albums(){
return view("albums");
}
public function create(){
return view("create");
}
/* You have to work on the request later. Make sure that when someone logs in, he returns 123 */
public function store(Request $request){
$this->validate($request, [
'naam' => 'required',
'cover_image' => 'image|max:1999'
]);
}
}
我的albums.blade.php:
@extends('layouts.app')
@section('content')
<h1><b>Ons album</b></h1>
<form method="post" action="/store">
@csrf
<div class="form-group">
<label for="exampleInputPassword1">Naam van Album</label>
<input type="text" class="form-control" id="exampleInputName1" placeholder="Naam" name="naam">
</div>
<div class="form-group">
<label for="exampleTextarea">Omschrijving</label>
<textarea class="form-control" id="exampleTextarea" rows="3" name="omschrijving"></textarea>
</div>
<div class="form-group">
<label for="exampleInputFile">Zoek uw bestand</label>
<input type="file" class="form-control-file" id="exampleInputFile" aria-describedby="fileHelp" name="cover_image">
<small id="fileHelp" class="form-text text-muted">Selecteer uw bestand</small>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
@endsection
我的web.php:
Route::GET('/index',('PageController@index'));
Auth::routes();
//Zorg ervoor dat auth verplicht is
Route::get('/albums', 'albumController@albums')->name('albums')->middleware('auth');/*Zorgt ervoor dat je ingelogt moet zijn om naar albums te kunnen gaan*/
Auth::routes();
Route::get('/', 'HomeController@index');
Route::get('/home', 'HomeController@index')->name('home');
Auth::routes();
Route::get('/create', 'albumController@create')->name('create');
Route::post('/store', 'albumController@store');
Route::get('/store', 'albumController@store');
希望我已经为您提供了足够的信息,以帮助我找到答案。
问候,
Parsa_237
答案 0 :(得分:0)
页面无法正确重定向
您有两条使用不同方法的路由要使用相同的控制器功能
// This one is okay
Route::post('/store', 'albumController@store');
// This one is the problem, delete it
Route::get('/store', 'albumController@store');
那是因为POST请求已提交,但未返回任何内容
无论验证通过还是失败,都不会发生
另外,image
验证规则没有max
属性,而是将其移至字符串naam
对已验证的数据进行处理,或仅返回响应
public function store(Request $request)
{
$this->validate($request, [
'naam' => 'required|max:1999',
'cover_image' => 'image'
]);
// Do something with the validated data
return response()->json(['status' => 123]);
}
答案 1 :(得分:0)
在表单标签中更改您的路线,并添加enctype多部分表单数据,因为您要存储图像
Route::post('/store', 'albumController@store')->name(store);
<form method="post" action="{{ route('store') }}" enctype="multipart/form-data">