خطأ Laravel 5.4 $ لا يظهر / يومض

1

لدي تركيب جديد من Laravel 5.4 باستخدام متشرد للنوافذ.

الآن كما اتبعت من خلال tuts في laracast وحاولت التحقق من صحة النموذج ، كان كل شيء على ما يرام لكن متغير الأخطاء $ لا يحتوي على أي رسائل خطأ على الإطلاق.

المقتطف من PostsController

public function store()
{
    $this->validate(request(), [
        'title' => 'required|unique:posts,title|min:3',
        'body' => 'required'
    ]);

    Post::firstOrCreate(request(['title', 'body']));

    return redirect()->route('create-post');
}

مقتطف من بلدي create.blade.php

@extends('layout')

@section('content')
<main role="main" class="container">

    <div class="row">

        <div class="col-md-8 blog-main">
            <h3 class="pb-3 mb-4 font-italic border-bottom">
                Create Post Form
            </h3>


            <form action="/api/posts" method="POST">

                {{ csrf_field() }}

                <div class="form-group">
                    <label for="title">Title</label>
                    <input type="text" class="form-control" id="title" placeholder="Title" name="title" value="">
                    <small class="text-danger">{{ $errors->first('title') }}</small>
                </div>

                <div class="form-group">
                    <label for="body">Content</label>
                    <textarea class="form-control" id="body" rows="5" name="body" placeholder="Contents Here.." value=""></textarea>
                    <small class="text-danger">{{ $errors->first('body') }}</small>
                </div>

                <div class="form-group">
                    <button class="btn btn-primary" type="submit">Submit</button>
                </div>

                <div class="form-group">
                    <div class="alert alert-{{ $errors->any() ? 'danger' : 'default' }}">
                        <ul>
                            @foreach($errors->all() as $error)
                                <li>{{ $error }}</li>
                            @endforeach
                        </ul>
                    </div>
                </div>
            </form>

        </div>

        @include('partials.sidebar')

    </div>

</main>
@endsection

والنتيجة بعد فشل التحقق من الصحة

Imagen 21180

هل هناك شيء مفقود أو شيء خاطئ؟

تعديل

وهنا مقتطف من بلدي في المسار:

Route::get('/', '[email protected]');
Route::get('/posts/{post}', '[email protected]');

Route::get('/create', function() {
   return view('posts.create');
})->name('create-post');

Route::post('/posts', '[email protected]');

3 الاجابة

1
افضل جواب

وجدت الجواب.

نظرًا لأنه 5.4 لم ألاحظ أن كل web.php كان تحت وسيط يسمى web

التي تتضمن معها فئة \ Illuminate \ View \ Middleware \ ShareErrorsFromSession ::

كان بلدي api / المشاركات على الوسيطة api ولهذا السبب لا توجد جلسة مشتركة على الإطلاق.

كما ساعد هذا الرابط في حل هذا.

أخطاء Laravel 5.2 $ لا تظهر في Blade

:مؤلف
0

يمكنك التحقق من صحة هذه الطريقة $this->validate($request, [ 'title' => 'required|unique:posts,title|min:3', 'body' => 'required' ]);

آمل أن يكون هذا سوف يعمل.

:مؤلف
0

أنت تمر Request الكائن في المدقق. تحتاج إلى تغيير رمز التحقق قليلاً:

$this->validate(request()->all(), [
    'title' => 'required|unique:posts,title|min:3',
    'body' => 'required'
]);

اقرأ المزيد في المستندات .

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام