В настоящее время я возвращаю ошибки следующим образом:
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('login')->withErrors($validator); // <--
}
И отобразить их в шаблоне:
{{ isset($errors) ? $errors->first() : '' }}
Чего я хотел бы добиться, так это вернуть уведомление, которое может быть уведомлением «информация», «успех» или «ошибка». Что-то вроде этого:
return Redirect::to('login')->with('notification', 'error', $validator); //Error message
return Redirect::to('login')->with('notification', 'success', 'Logged in!'); //Success message
А затем отобразить их, что-то вроде этого:
{{ isset('$notification') ? '<div class="notification ' . $notification[1] . '">$notification[2]</div>' : '' }}
Нечто подобное должно быть возможно, верно?
Я не знаю, поможет ли это вам, но этим я и занимаюсь.
В контроллерах мы вернем пользователя на страницу с несколькими разными вещами.
За ошибки мы делаем это точно так же, как вы.
return Redirect::to('/whatever')->withErrors($validator);
А для успехов нечто подобное.
return Redirect::to('/whatever')->with('success', "Hooray, things are awesome!");
Однако в представлении об ошибках и уведомлениях вы просто увидите это.
@include('global.notifications')
который содержит следующее. (вам не нужно явно передавать $errors
к мнению, его всегда есть.)
@if ($errors->any())
<div class="alert alert-danger">
@foreach($errors->all('<p>:message</p>') as $error)
{{ $error }}
@endforeach
</div>
@endif
@if (Session::has('success'))
<div class="alert alert-success">
<p>{{ Session::get('success') }}</p>
</div>
@endif
Других решений пока нет …