«Страница не перенаправляет правильно» laravel - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь сделать альбом для домашнего задания.Однако я застрял с ошибкой.Я пытаюсь использовать проверку, но она не работает.

Я использую пошаговый сборник youtube, чтобы помочь мне сделать этот альбом.Однако эта конкретная проблема не объясняется.Я также прочитал раздел веб-сайтов 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'
        ]);
    }
}

Мои альбомы.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 голосов
/ 28 сентября 2019

измените свой маршрут в теге формы и добавьте данные формы для составного элемента enctype, потому что вы хотите сохранить изображение

Route::post('/store', 'albumController@store')->name(store);


<form method="post" action="{{ route('store') }}" enctype="multipart/form-data">
0 голосов
/ 27 сентября 2019

Страница не перенаправляет правильно

У вас есть два маршрута с разными методами, идущими к одной и той же функции контроллера

// 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]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...