Php 没有显示Laravel 5验证错误
我正在学习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
@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,
]
}