laravel:“页面无法正确重定向”

时间:2019-09-27 18:54:45

标签: laravel

我正在尝试为家庭作业制作一张专辑。但是,我陷入了一个错误。我正在尝试使用验证,但无法正常工作。

我正在逐步使用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

2 个答案:

答案 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">