Laravel Redirect Back with () 메시지
치명적인 오류가 발생하면 메시지와 함께 이전 페이지로 리디렉션하려고합니다.
App::fatal(function($exception)
{
return Redirect::back()->with('msg', 'The Message');
}
뷰에서 msg에 액세스하려고합니다.
Sessions::get('msg')
그러나 아무것도 렌더링되지 않습니다. 여기서 뭔가 잘못하고 있습니까?
시험
return Redirect::back()->withErrors(['msg', 'The Message']);
그리고 당신의 견해 안에서 이것을 부르십시오.
@if($errors->any())
<h4>{{$errors->first()}}</h4>
@endif
라 라벨 5
제어 장치
return redirect()->back()->with('success', ['your message,here']);
잎:
@if (\Session::has('success'))
<div class="alert alert-success">
<ul>
<li>{!! \Session::get('success') !!}</li>
</ul>
</div>
@endif
다른 접근법은
제어 장치
Session::flash('message', "Special message goes here");
return Redirect::back();
전망
@if (Session::has('message'))
<div class="alert alert-info">{{ Session::get('message') }}</div>
@endif
Laravel 5.4에서 다음이 나를 위해 일했습니다.
return back()->withErrors(['field_name' => ['Your custom message here.']]);
오류가 있습니다 (맞춤법 오류).
Sessions::get('msg')// an extra 's' on end
해야한다:
Session::get('msg')
나는 지금 작동해야한다고 생각합니다.
플래시 메시지를 설정하고 컨트롤러 기능에서 다시 리디렉션하십시오.
session()->flash('msg', 'Successfully done the operation.');
return redirect()->back();
그런 다음 뷰 블레이드 파일에서 메시지를 얻을 수 있습니다.
{!! Session::has('msg') ? Session::get("msg") : '' !!}
라 라벨 5.5에서 :
return back()->withErrors($arrayWithErrors);
블레이드를 사용한보기에서 :
@if($errors->has())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
I stopped writing this myself for laravel in favor of the Laracasts package that handles it all for you. It is really easy to use and keeps your code clean. There is even a laracast that covers how to use it. All you have to do:
Pull in the package through Composer.
"require": {
"laracasts/flash": "~1.0"
}
Include the service provider within app/config/app.php.
'providers' => [
'Laracasts\Flash\FlashServiceProvider'
];
Add a facade alias to this same file at the bottom:
'aliases' => [
'Flash' => 'Laracasts\Flash\Flash'
];
Pull the HTML into the view:
@include('flash::message')
There is a close button on the right of the message. This relies on jQuery so make sure that is added before your bootstrap.
optional changes:
If you aren't using bootstrap or want to skip the include of the flash message and write the code yourself:
@if (Session::has('flash_notification.message'))
<div class="{{ Session::get('flash_notification.level') }}">
{{ Session::get('flash_notification.message') }}
</div>
@endif
If you would like to view the HTML pulled in by @include('flash::message')
, you can find it in vendor/laracasts/flash/src/views/message.blade.php
.
If you need to modify the partials do:
php artisan view:publish laracasts/flash
두 개의 패키지 뷰는 이제`app / views / packages / laracasts / flash / '디렉토리에 있습니다.
나는 같은 문제에 직면했고 이것이 효과가 있었다.
제어 장치
return Redirect::back()->withInput()->withErrors(array('user_name' => $message));
전망
<div>{{{ $errors->first('user_name') }}}</div>
라 라벨 5.6. *
Laravel 5.6. *에서 제공된 답변 중 일부를 시도하는 동안 나머지 답변으로 해결책을 찾을 수없는 사람들을 위해 쉽게 만들 수 있도록 여기에 게시 할 개선 사항이 있음이 분명합니다.
1 단계:컨트롤러 파일로 이동하여 수업 전에 추가하십시오.
use Illuminate\Support\Facades\Redirect;
2 단계 : 리디렉션을 반환 할 위치에 추가합니다.
return Redirect()->back()->with(['message' => 'The Message']);
3 단계 : 블레이드 파일로 이동하여 다음과 같이 편집
@if (Session::has('message'))
<div class="alert alert-error>{{Session::get('message')}}</div>
@endif
그런 다음 테스트하고 나중에 감사합니다.
이것은 laravel 5.6. * 및 가능하면 5.7. *에서 작동합니다.
laravel 5.8에서는 다음을 수행 할 수 있습니다.
return redirect()->back()->withErrors(['name' => 'The name is required']);
블레이드에서 :
@error('name')
<p>{{ $message }}</p>
@enderror
라 라벨 3
@giannis christofakis의 대답에 머리를 댄다. Laravel 3 Replace를 사용하는 모든 사람
return Redirect::back()->withErrors(['msg', 'The Message']);
와:
return Redirect::back()->with_errors(['msg', 'The Message']);
라 라벨 5.6. *
제어 장치
if(true) {
$msg = [
'message' => 'Some Message!',
];
return redirect()->route('home')->with($msg);
} else {
$msg = [
'error' => 'Some error!',
];
return redirect()->route('welcome')->with($msg);
}
블레이드 템플릿
@if (Session::has('message'))
<div class="alert alert-success" role="alert">
{{Session::get('message')}}
</div>
@elseif (Session::has('error'))
<div class="alert alert-warning" role="alert">
{{Session::get('error')}}
</div>
@endif
엔요이
For Laravel 5.5+
Controller:
return redirect()->back()->with('success', 'your message here');
Blade:
@if (Session::has('success'))
<div class="alert alert-success">
<ul>
<li>{{ Session::get('success') }}</li>
</ul>
</div>
@endif
in controller
For example
return redirect('login')->with('message',$message);
in blade file The message will store in session not in variable.
For example
@if(session('message'))
{{ session('message') }}
@endif
I got this message when I tried to redirect as:
public function validateLogin(LoginRequest $request){
//
return redirect()->route('sesion.iniciar')
->withErrors($request)
->withInput();
When the right way is:
public function validateLogin(LoginRequest $request){
//
return redirect()->route('sesion.iniciar')
->withErrors($request->messages())
->withInput();
Laravel 5.8
Controller
return back()->with('error', 'Incorrect username or password.');
Blade
@if (Session::has('error'))
<div class="alert alert-warning" role="alert">
{{Session::get('error')}}
</div>
@endif
참고URL : https://stackoverflow.com/questions/19838978/laravel-redirect-back-with-message
'development' 카테고리의 다른 글
Visual Studio에서 system.management.automation.dll 참조 (0) | 2020.07.07 |
---|---|
C #에서 문자열을 "곱셈"할 수 있습니까? (0) | 2020.07.07 |
Windows에서 Python이 설치된 위치를 어떻게 찾을 수 있습니까? (0) | 2020.07.07 |
IEqualityComparer에서 델리게이트 랩 (0) | 2020.07.07 |
문자열 리소스에서 AlertDialog의 클릭 가능한 하이퍼 링크를 얻으려면 어떻게해야합니까? (0) | 2020.07.07 |