验证在 laravel 5.5 中不起作用

Validation not working in laravel 5.5

我安装了一个新的 Laravel 5.5 应用程序并在 test.blade.php 视图中创建了一个表单:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
        <form method="POST" action={{ route('contact') }}>
            {{ csrf_field() }}
            <input type="text" name="title">
            <input type="text" name="body">
            <input type="submit"  value="click">
        </form>
</body>
</html>

并创建了我的 PageController :

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class Pagecontroller extends Controller
{
   public function index(Request $request){
            $this->validate($request,[
                'title' => 'required',
                'body' => 'required',
            ]);

            return View('View');
   }
}

并在 web.php 添加我的路线:

<?php
Route::get('/', function () {
    return view('welcome');
});
Route::get('/test',function(){
    return View('test');
});
Route::post('/contact',['uses'=>'PageController@index','as'=>'contact']);

我的问题是当我提交有或没有数据的表单时没有任何反应,页面只是重新加载,当我删除验证码时:

 $this->validate($request,[
                    'title' => 'required',
                    'body' => 'required',
                ]);

它 return 请求 我不明白问题出在哪里,因为我之前测试过它并且它在 Laravel 5.4 中工作。谁能帮帮我?

    namespace App\Http\Controllers;

    use Illuminate\Http\Request;

    class Pagecontroller extends Controller
    {
       public function index(Request $request){
        $request->validate([
            'title' => 'required',
            'body' => 'required',
                ]);

                return View('View');
               }
            }

你的视图代码应该是:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    @if ($errors->any())
<div class="alert alert-danger">
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
    @endif
            <form method="POST" action={{ route('contact') }}>
                {{ csrf_field() }}
                <input type="text" name="title">
                <input type="text" name="body">
                <input type="submit"  value="click">
    </form>
    </body>
    </html>