2016-08-09 34 views
0

我是由laravel 5.2创建的项目。我一直在创建登录页面,但我被卡在显示刀片模板上的验证错误消息。我不知道我做错了什么?如何在laravel 5的刀片模板上显示错误消息

请帮我解决这个问题。谢谢!

查看

<div> 
    <input type="text" name="email" class="form-control" placeholder="Email"/> 
    @if($errors->has('email')) <p>{{ $errors->first('email') }}</p> @endif 
</div> 

控制器

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Http\Controllers\Controller; 
use App\User; 
use Illuminate\Support\Facades\Validator; 
use Illuminate\Support\Facades\Input; 
use Illuminate\Support\Facades\Redirect; 
use Illuminate\Support\MessageBag; 


class AuthController extends Controller 
{ 
    public function login() 
    { 
     return view('user.login'); 
    } 

    /** 
    * Show the form for creating a new resource. 
    * 
    * @return \Illuminate\Http\Response 
    */ 
    public function handlelogin(Request $request) 
    { 
     $messages = array(
      'email.required'=>'You cant leave Email field empty', 
      'password.required'=>'You cant leave name field empty' 
     ); 

     $rules = array(
      'email' => 'required|email|max:20', 
      'password' => 'required' 
     ); 

     $validator = Validator::make($request->all(),$rules,$messages); 

     if ($validator->fails()) 
     { 
      return redirect()->back()->withErrors($validator->errors()); 

     }else{ 

      $data = $request->only('email','password'); 


      if(\Auth::attempt($data)){ 
       return redirect()->intended('/'); 
      } 

     return back()->withInput(); 
     } 
    } 


} 

回答

1

你并不需要检查错误,只是做如下

{!! $errors->first('email', '<dev class="error-block">:message</div>') !!} 

请注意,“错误块“是一个自定义的CSS类,你可以根据自定义HTML模板 你的选择。

Retrieving An Error Message With A Format

+0

仍然没有在刀片模板中显示错误信息。 – Tui

+0

add'{{dd($ errors-> all())}}'来查看。然后检查你的错误信息是否在 –

+0

好的,我发现了这条信息。对象(Illuminate \ Support \ ViewErrorBag)#185(1){ [“bags”:protected] => array(0){ } } – Tui

相关问题