私は同様の質問をしているので、すべての答えを試しました。バリデーターはルールをチェックし、うまくリダイレクトします。しかし、私の見解では$ errors変数はまだ空です。
コントローラー:
public function postSlidesAdd(Request $request)
{
$validator = Validator::make($request->all(), [
'priority' => 'required',
'text' => 'required',
'image' => 'required'
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator);
}
//insert to db and redirect back
}
ルート:
Route::group(['middleware' => ['web']], function() {
Route::post('/admin/slides/add', [
'uses' => '[email protected]',
'as' => 'admin.slides.add'
]);
});
ビュー:
<div class="">
@if(count($errors)>0))
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
@endif
</div>
私は小さく、重要な何かが欠けていると思う、助けてください。 私はLaravelを使用しています。5.2.29
更新日: これは助けになるものです。私のコントローラで:
if ($validator->fails()) {
dd($validator->errors());
return back()->withErrors($validator);
}
これは、配列 'messages'をダンプし、内部は[input names =>エラーメッセージ]を含む別の配列です。私はこれがビューに送られる配列だと思うが、それは通過しない。私が間違っていることをどうしてください助けてください。
私はそれが '$ validator-> message()'だと思いますか? – aldrin27
速やかな応答ありがとうございますが、message()メソッドはバリデーターに存在しません。 – robertjoep
ow。 'messages()' – aldrin27