我想在用户输入错误时在查看页面中显示验证错误.当用户输入错误时,它不会在数据库中保存任何内容.但在用户查看页面中没有错误消息.如果有人发现错误,请帮我解决.

这是控制器:

public function saveUser(Request $request){
        $this->validate($request,[
            'name' => 'required|max:120',
            'email' => 'required|email|unique:users',
            'phone' => 'required|min:11|numeric',
            'course_id'=>'required'
            ]);

        $user = new User();
        $user->name=  $request->Input(['name']);
        $user->email=  $request->Input(['email']);
        $user->phone=  $request->Input(['phone']);
        $user->date = date('Y-m-d');
        $user->completed_status = '0';
        $user->course_id=$request->Input(['course_id']);
        $user->save();
       return redirect('success');         
    }

以下是路由:

Route::group(['middleware' => 'web'], function () {

    Route::get('/', function () {
        return view('index');
    })->name('main');

      Route::post('/saveUser',[
        'uses' => 'AppController@saveUser',
        'as'=>'saveUser',
        ]);
    });

以下是Blade 式服务器视图页面:

@extends('layouts.master')
@section('title')
Create User
@endsection
@section('content')
@include('partials.message-block')
        <div class="container" >

            <h3> Student Register </h3>

        {!! Form::open(array('route' => 'saveUser','class'=>'form-horizontal','method'=>'POST'))  !!}
      {!! Form::token(); !!}
      {!!   csrf_field() ; !!} 

        <div class="form-group">
          <label>Name</label>
          <input type="text" name="name" class="form-control" required placeholder="Name">
        </div>

        <div class="form-group">
          <label>Email</label>
          <input type="email" name="email" class="form-control" required placeholder="email">
        </div>

        <div class="form-group">
          <label>Phone Number</label>          
          <input type="text" name="phone" class="form-control" required placeholder="phone">
        </div>

        <div class="form-group">
            <label for="">Class</label>
            <select class="form-control input-sm" name="course_id" >
            @foreach($input as $row)
            <option value="{{$row->id}}">{{$row->name}}</option>
            @endforeach
            </select>
        </div>  

        <button type="submit" class="btn btn-default">Submit</button>
    {!! Form::close() !!}
        </div>

@endsection

And here is the error-message block:

@if(count($errors) > 0)
    <div class="row">
        <div class="col-md-4 col-md-offset-4 error">
            <ul>
                @foreach($errors->all() as $error)
                    <li>{{$error}}</li>
                @endforeach
            </ul>
        </div>
    </div>
@endif
@if(Session::has('message'))
<div class="row">
    <div class="col-md-4 col-md--offset-4 success">
        {{Session::get('message')}}
    </div>
</div>

@endif

推荐答案

Try to remove web middleware if you're using 5.2.27 or higher. The thing is now Laravel automatically applies web middleware to all routes inside routes.php and if you're trying to add it manually you can get errors.

5.2.27版本的app/Providers/RouteServiceProvider.php现在将web中间件添加到routes.php中的所有路由:

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace, 'middleware' => 'web',
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

Laravel相关问答推荐

未将Laravel Blade属性传递给组件或类

验证判断请求的值是否存在于另一个表 Laravel 9 中

Laravel:在行的子集上同步多对多

Laravel Eloquent:组合列(或自定义属性)上的 Where 子句

Laravel Livewire 组件属性在 div 类中为空

(1/1) ErrorException ReflectionFunction::__construct() ex

如何通过 Controller 访问 Laravel 中 Model 的值?

处理程序类中的错误 - Laravel

Laravel 5.1 如何在Blade 文件上使用 {{ old('') }} 助手进行无线电输入

我怎样才能了解更多关于我的 Laravel 排队作业(job)失败的原因?

Laravel 5 文件下载:stream() 或 download()

如何在 Eloquent 上设置条件关系

Laravel 5.4 - 注册后禁用自动登录

如何利用 StorageFacade 的 Filesystem 类的 glob 方法?

为什么客户凭证应该与 Laravel Passport 中的用户相关联?

Laravel - 更新时禁用更新时间

Laravel5如何将数组传递给查看

laravel 如何读取 app/config/app.php 调试变量

Laravel Eloquent 多对多查询 whereIn

搜索结果分页 laravel 5.3