2016-04-02 12 views
0

Laravelアプリでは、リクエスト変数を使用してコントローラでフォームの検証を行った。検証は機能しているように見えますが、ビューにエラーを表示しようとすると表示されません。私は整数ではないものを入力するとすぐに、フォームのビューに戻ってくるので、検証が機能していることが分かります。ここでは、フォームとビューは次のとおりです。(errorrを表示する「もし」ステートメントが動作していません):ビューにエラーが表示されません。 Laravel-5

@if(count($errors) > 0) 
    <ul> 
     @foreach ($errors->all() as $error) 
      <li>{{ $error }}</li> 
     @endforeach 
    </ul> 
@endif 
<form method='POST' action='/lorem/show'> 



<label>Enter Number of Paragraphs</label> 
<input type='hidden' name='_token' value='{{ csrf_token() }}'> 
<input type='text' 
     id='paragraph' 
     name='paragraph' 
     maxlength="2" 
     size="5" 
     <br/> 

<input type="checkbox" name="header" value="header"/>Include Headers<br/><br/> 
<button type="submit" class="btn btn-primary"> 
&nbsp;Create </button> 
</form> 

そして、ここでは私のコントローラ内の関数である:

public function postShow (Request $request) { 

    $this->validate ($request, [ 
    'paragraph' => 'required|integer', 
]); 
} 

のはなぜエラーではありませんビューに表示されますか?

+1

ミドルウェアが「web」のルートグループ内にルートがありますか? そうでなければ、それは問題になります – RDev

答えて

0

UPDATE:

更新postShowすべき:

$this->validate($request->all(), [ 
    'paragraph' => 'required|integer', 
]); 

つまり、あなたが$request->all()が不足してきました。

変更if声明:

@if($errors->first()) 
    <ul> 
    @foreach ($errors->all() as $error) 
     <li>{{ $error }}</li> 
    @endforeach 
    </ul> 
@endif 

問題が解決しない場合は、あなたが実際にあなたの視野のどこかに、以下を追加することによって、バックビューにエラーメッセージを取得していることを確認します。

{{ dd($errors) }} 
+0

私は 'if'を変更しようとしましたが、うまくいかなかった。私が添加された場合、 '{{DD($エラーは)}}'以下が現れた: 'ViewErrorBag {#167▼ #bags:[]を は}'それはまだあなたの検証を意味 –

+0

を働いていない ではありません実際には何らかのエラーが発生するため、メッセージが表示されないことがあります。 –

+0

同じエラーが表示されているため、解決策が見つかりましたか? –

関連する問題