2017-03-21 6 views
0

私はPHPで新しく、さらにでLaravelです。私はLaravel 5.4プロジェクトに取り組んでおり、次の問題があります。

私はerror.blade.phpという名前のこのカスタムエラーページがあります:あなたはこのクラスを見ることができるように

@extends('layouts.app') 

@section('content') 

    <h1 class="page-header"><i class="fa fa-exclamation-triangle" aria-hidden="true" style="margin-right: 2%"></i>Riscontrati errori</h1> 

    @if (count($errors) > 0) 
     <div class="alert alert-danger"> 
      <strong>Whoops!</strong> Sono stati riscontrati errori nel tuo input.<br /><br /> 
      <ul> 
       @foreach ($errors->all() as $error) 
        <li>{{ $error }}</li> 
       @endforeach 
      </ul> 
     </div> 
    @endif 


@endsection 

$エラー変数にエラーメッセージを表示しますか? (それはそうまさにそれが何で、エラーを取得した検証ルールから来た配列または何???)

そして、コントローラクラスに私は、このコントローラのメソッドがあります:あなたが見ることができるように、そう

public function activate(ActivateRequest $request) { 

    $email = $request->input('email'); 
    $token = $request->input('token'); 

    $results = DB::select('select * from pm_user where email = :email', ['email' => $email]); 

    $tokenFromDB = $results[0]->token; 

    if($token != $tokenFromDB) { 
     // PUT AN ERROR INTO THE $errors ARRAY 
     // RETURN THE error.blade.php VIEW 
    } 

    return 'Works!'; 
    // do stuff 
} 

を前のコードスニペットでは、私はこのケースを持っている:

if($token != $tokenFromDB) { 
    // PUT AN ERROR INTO THE $errors ARRAY 
    // RETURN THE error.blade.php VIEW 
} 

だから、この特定のケースでは、私は$エラーにテキスト形式のエラーメッセージを追加し、error.blade.phpを返すようにしたいですこのエラーメッセージが表示されます。

どうすれば手動で行うことができますか? (私はこのケースで検証ルールを使用していない、私はコードでそれをしなければならない)

答えて

0

使用withErrorsあなたのビューを構築する:

return View::make('yourErrorBladeView') 
    ->withErrors(['yourErrorName'=>'yourErrorDescription']); 

return redirect('yourErrorBladeView') 
    ->withErrors(['yourErrorName'=>'yourErrorDescription']); 

またはリダイレクトなし

ラーバル検証エラードキュメント( https://laravel.com/docs/5.4/validation#quick-displaying-the-validation-errors):

$errors変数はbです Illuminate\View\Middleware\ShareErrorsFromSessionミドルウェアによって表示され、 webミドルウェアグループが提供しています。このミドルウェアを適用すると、 $errors変数が常に利用可能になります。 は、$errors変数が常に定義されており、 を安全に使用できると便利に仮定できます。

関連する問題