代码之家  ›  专栏  ›  技术社区  ›  Pankaj

错误消息未发送到刀片。拉拉维5.2.12

  •  1
  • Pankaj  · 技术社区  · 10 年前

    我正在使用Laravel 5.2.12

    我有一个如下的请求类。

    class RegisterRequest extends Request
    {
        public function authorize()
        {
            return true;
        }
    
        public function rules()
        {
            return [
                'UserName'      =>  'required|min:5|max:50',
                'Password'      =>  'required|confirmed|min:5|max:100',
            ];
        }
    
        public function response(array $errors){
            print_r($errors);
            return \Redirect::back()->withErrors($errors)->withInput();
        }
    }
    

    这个请求类用于在Laravel的内置模板中注册时验证数据。以下是方法

    public function postRegister(RegisterRequest $request)
    //            **Check here** ^^^^^^^^^^^^^^^
    {
        return $this->register($request);
    }
    

    我们可以在下面找到此方法的路径。

    \供应商\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php

    下面是注册页面中编写的代码。

    @if (count($errors) > 0)
        <div class="alert alert-danger">
            <strong>Whoops!</strong> There were some problems with your input.<br><br>
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif
    

    有什么问题?

    寄存器刀片中未显示错误消息。

    到目前为止,我尝试了什么?

    在请求类中,有以下方法。

    public function response(array $errors){
        print_r($errors);
        //die();
        return \Redirect::back()->withErrors($errors)->withInput();
    }
    

    尽管当我启用时它会打印 die() 但它从不发送错误消息 在刀片中。

    1 回复  |  直到 10 年前
        1
  •  0
  •   Pankaj    10 年前

    我在Kernel.php中做了一些更改。现在我可以在Blade中查看错误消息。

    原始代码。

    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    ];
    

    修改为

    protected $middleware = [
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    ];
    

    推荐文章