답변:
시험
return Redirect::back()->withErrors(['msg', 'The Message']);
그리고 당신의 견해 안에서 이것을 부르십시오.
@if($errors->any())
<h4>{{$errors->first()}}</h4>
@endif
return Redirect::back()->with('msg', 'The Message');
"msg"를 얻는 방법 이 작동하지 않습니까?
Session::has('msg')
Session::has('msg')
되었고 'msg'가 없습니다.
withErrors('some error')
-배열 대신 문자열이어야합니다.
라 라벨 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
return redirect()->back()->with('success', 'your message here');
다른 접근법은
제어 장치
use Session;
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.']]);
withErrors()
, 답변 의 메소드에 대한 매개 변수는 다음 두 가지 요소로 구성된 배열입니다 ['msg', 'The Message']
. 허용되는 매개 변수는 api를 참조하십시오. laravel.com/api/4.2/Illuminate/Http/…
withErrors()
메소드 의 매개 변수 는 한 key => value
쌍의 요소 가있는 배열이며 값은 배열입니다. 5.4 API : laravel.com/api/5.4/Illuminate/Http/…
플래시 메시지를 설정하고 컨트롤러 기능에서 다시 리디렉션하십시오.
session()->flash('msg', 'Successfully done the operation.');
return redirect()->back();
그런 다음 뷰 블레이드 파일에서 메시지를 얻을 수 있습니다.
{!! Session::has('msg') ? Session::get("msg") : '' !!}
{!! Session::get("msg", '') !!}
충분 하다고 생각 합니다. get()
이미 키 가 있는지 확인하고 그렇지 않으면 기본값을 반환합니다.
나는 당신을 위해 그것을 처리 하는 Laracasts 패키지 에 찬성하여 laravel을 위해 이것을 직접 작성하지 않았습니다 . 사용하기 쉽고 코드를 깨끗하게 유지합니다. 사용 방법을 다루는 라라 캐스트 도 있습니다. 당신이해야 할 모든 것 :
Composer를 통해 패키지를 당기십시오.
"require": {
"laracasts/flash": "~1.0"
}
app / config / app.php 내에 서비스 제공자를 포함 시키십시오.
'providers' => [
'Laracasts\Flash\FlashServiceProvider'
];
하단의 동일한 파일에 파사드 별명을 추가하십시오.
'aliases' => [
'Flash' => 'Laracasts\Flash\Flash'
];
HTML을보기로 가져 오십시오.
@include('flash::message')
메시지 오른쪽에 닫기 버튼이 있습니다. 이것은 jQuery에 의존하므로 부트 스트랩 전에 추가해야합니다.
선택적 변경 사항 :
부트 스트랩을 사용하지 않거나 플래시 메시지 포함을 건너 뛰고 직접 코드를 작성하려는 경우 :
@if (Session::has('flash_notification.message'))
<div class="{{ Session::get('flash_notification.level') }}">
{{ Session::get('flash_notification.message') }}
</div>
@endif
에서 가져온 HTML을 보려면에서 @include('flash::message')
찾을 수 있습니다 vendor/laracasts/flash/src/views/message.blade.php
.
부분을 수정해야 할 경우 다음을 수행하십시오.
php artisan view:publish laracasts/flash
두 개의 패키지 뷰는 이제`app / views / packages / laracasts / flash / '디렉토리에 있습니다.
라 라벨 5.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
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. *에서 작동합니다.
라 라벨 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
엔요이
다음과 같이 리디렉션하려고 할 때이 메시지가 나타납니다.
public function validateLogin(LoginRequest $request){
//
return redirect()->route('sesion.iniciar')
->withErrors($request)
->withInput();
올바른 방법은 다음과 같습니다.
public function validateLogin(LoginRequest $request){
//
return redirect()->route('sesion.iniciar')
->withErrors($request->messages())
->withInput();
s
하고use
필요한 곳에 추가하십시오 . 그것과 별도로-작동해야합니다.