Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 没有显示Laravel 5验证错误_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 没有显示Laravel 5验证错误

Php 没有显示Laravel 5验证错误,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在学习Laravel 5,我已经为用户登录编写了以下代码。现在,我尝试使用以下代码显示验证错误消息: @if(count($errors)) <div class="alert alert-danger"> <ul> @foreach($errors->all() as $error) <li>{{ $error }}</li> @en

我正在学习Laravel 5,我已经为用户登录编写了以下代码。现在,我尝试使用以下代码显示验证错误消息:

@if(count($errors))
    <div class="alert alert-danger">
        <ul>
            @foreach($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif
login.blade.php User.php
为什么不使用内置寄存器功能? 如果你想,你也可以写你自己的注册验证


问题是您只处理输入错误,如果用户键入无效的电子邮件或密码,它不会显示。

为什么不使用内置的注册功能? 如果你想,你也可以写你自己的注册验证


问题是您只处理输入错误,如果用户键入无效的电子邮件或密码,则不会显示。

我认为您可以修改handleLogin方法以将错误发送到视图,如下所示:

public function handleLogin(Request $request)
{
    $validator=$this->validate($request, User::$login_validation_rules);
    $data = $request->only('email', 'password');
    if(\Auth::attempt($data)) {
        return redirect()->intended('home');
    }

    return back()->withInput()->withErrors($validator->errors());
}
应该行得通

您可以阅读Laravel文档查看解决方案:


问候

我认为您可以修改handleLogin方法,将错误发送到视图,如下所示:

public function handleLogin(Request $request)
{
    $validator=$this->validate($request, User::$login_validation_rules);
    $data = $request->only('email', 'password');
    if(\Auth::attempt($data)) {
        return redirect()->intended('home');
    }

    return back()->withInput()->withErrors($validator->errors());
}
应该行得通

您可以阅读Laravel文档查看解决方案:

问候

laravel 5.2*

/* app/Http/Kernel.php */

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel {

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
      /*  you need these two Middleware  */
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    ]



}
/*app/Http/Kernel.php*/
拉威尔5.2*

/* app/Http/Kernel.php */

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel {

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
      /*  you need these two Middleware  */
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    ]



}
/*app/Http/Kernel.php*/

我为那些可能与我有相同问题/解决方案的人添加了这个。我刚接触过Laravel(5.2),一直在尝试授权和路由的不同方面。有一次,我的LaravelCollective HTML错误包开始丢失。在经历了许多挫折之后,我发现了这一点-


我已经为需要授权的页面创建了一个路由组。我在该组中放置了一个表单页。我忘记做的是从该页面的控制器中删除对授权中间件的调用-$this->Middleware('auth');这导致请求两次调用授权。它没有强迫我登录两次,但是,它确实导致会话被重新创建,所有以前保存的数据都丢失了。在运行页面几次之后,我会得到许多会话文件。

我为那些可能遇到与我相同的问题/解决方案的人添加此功能。我刚接触过Laravel(5.2),一直在尝试授权和路由的不同方面。有一次,我的LaravelCollective HTML错误包开始丢失。在经历了许多挫折之后,我发现了这一点-


我已经为需要授权的页面创建了一个路由组。我在该组中放置了一个表单页。我忘记做的是从该页面的控制器中删除对授权中间件的调用-$this->Middleware('auth');这导致请求两次调用授权。它没有强迫我登录两次,但是,它确实导致会话被重新创建,所有以前保存的数据都丢失了。在运行页面几次之后,我会得到许多会话文件。

Hi的可能重复。我已尝试使用您的代码,但仍然没有收到任何错误:(您好,我已尝试使用您的代码,但仍然没有收到任何错误:(我已经检查了Kernel.php和
\illumb\Session\Middleware\StartSession::class\illumb\View\Middleware\ShareErrorsFromSession::class,
代码已经存在,但仍然不起作用。Session\u DRIVER=file in.env文件我已经检查了Kernel.php和
\illumb\Session\Middleware\StartSession::class\illumb\View\Middleware\S。)hareErrorsFromSession::class,
代码已存在,但仍不工作。SESSION\u DRIVER=文件位于.env文件中
$validator = \Validator::make($request->all(), User::$login_validation_rules);
if($validator->passes()) {
   // authenticate...
   // If auth failed, add message to validator
   $validator->getMessageBag()->add('password', 'Email or password invalid');   
}
return redirect()->back()->withErrors($validator)->withInput();
public function handleLogin(Request $request)
{
    $validator=$this->validate($request, User::$login_validation_rules);
    $data = $request->only('email', 'password');
    if(\Auth::attempt($data)) {
        return redirect()->intended('home');
    }

    return back()->withInput()->withErrors($validator->errors());
}
/* app/Http/Kernel.php */

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel {

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
      /*  you need these two Middleware  */
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
    ]



}