Laravel return 快讯
Laravel return flash message
我正在尝试 return 根据函数的结果发送一条闪现消息,但我真的不知道如何正确地执行此操作,有人可以帮我解决这个问题吗?
控制器:
public function postDB(Requests\NameRequest $request) {
$newName = trim($request->input('newName'));
$newLat = $request->input('newCode');
$websites = new Website();
$websites->name = $newName;
$websites->html = $newLat;
$websites->save();
if ($websites->save())
{
$message = 'success';
}else{
$message = 'error';
}
return redirect()->back()->withInput()->with('message', 'Profile updated!');
}
要求:
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'img' => 'file|image',
];
}
public function messages()
{
return [
'img.image' => 'File type is not supported! Use files with extension .jpg/.jpeg/.gif',
];
}
模板:
@if (session('status'))
@if (session('status')=="success")
<div class="alert alert-success">
{{ session('message') }}
</div>
@else
<div class="alert alert-error">
{{ session('message') }}
</div>
@endif
@endif
路线:
Route::group(['middleware' => ['web']], function () {
Route::get('home', 'BuilderController@homepage');
Route::get('pages', 'BuilderController@websites');
Route::get('template', 'BuilderController@templates');
Route::post('template2', 'BuilderController@postDB');
Route::post('template', 'BuilderController@testing');
Route::get('logout', 'BuilderController@getLogout');
Route::get('/website/{name}', 'BuilderController@website');
});
解法:
这个问题可能只有一个原因。
只有在中间件网络中注册 laravel 才会传递 flash 消息
即
Route::group(['middleware' => ['web']], function () {
//The back()'s url should be registered here
});
更新:
您似乎需要使用消息和输入重定向回来
所以,你可以这样做
if ($request->hasFile('img')) {
$message = 'success';
} else {
$message = 'error';
}
return redirect()->back()->withInput()->->with('message', $message);
更新 2:
@if (session('status'))
@if (session('status')=="success")
<div class="alert alert-success">
Congrats! Everything was fine
</div>
@else
<div class="alert alert-error">
Oops! Something went wrong
</div>
@endif
@endif
注意:您可以将状态参数传递给您的愿望
如果您将 message
作为闪存参数名称传递,请使用它,而不是 status
。
@if (session('message'))
@if (session('message')=="success")
<div class="alert alert-success">
Congrats! Everything was fine
</div>
@else
<div class="alert alert-error">
Oops! Something went wrong
</div>
@endif
@endif
我正在尝试 return 根据函数的结果发送一条闪现消息,但我真的不知道如何正确地执行此操作,有人可以帮我解决这个问题吗?
控制器:
public function postDB(Requests\NameRequest $request) {
$newName = trim($request->input('newName'));
$newLat = $request->input('newCode');
$websites = new Website();
$websites->name = $newName;
$websites->html = $newLat;
$websites->save();
if ($websites->save())
{
$message = 'success';
}else{
$message = 'error';
}
return redirect()->back()->withInput()->with('message', 'Profile updated!');
}
要求:
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'img' => 'file|image',
];
}
public function messages()
{
return [
'img.image' => 'File type is not supported! Use files with extension .jpg/.jpeg/.gif',
];
}
模板:
@if (session('status'))
@if (session('status')=="success")
<div class="alert alert-success">
{{ session('message') }}
</div>
@else
<div class="alert alert-error">
{{ session('message') }}
</div>
@endif
@endif
路线:
Route::group(['middleware' => ['web']], function () {
Route::get('home', 'BuilderController@homepage');
Route::get('pages', 'BuilderController@websites');
Route::get('template', 'BuilderController@templates');
Route::post('template2', 'BuilderController@postDB');
Route::post('template', 'BuilderController@testing');
Route::get('logout', 'BuilderController@getLogout');
Route::get('/website/{name}', 'BuilderController@website');
});
解法:
这个问题可能只有一个原因。
只有在中间件网络中注册 laravel 才会传递 flash 消息
即
Route::group(['middleware' => ['web']], function () {
//The back()'s url should be registered here
});
更新:
您似乎需要使用消息和输入重定向回来
所以,你可以这样做
if ($request->hasFile('img')) {
$message = 'success';
} else {
$message = 'error';
}
return redirect()->back()->withInput()->->with('message', $message);
更新 2:
@if (session('status'))
@if (session('status')=="success")
<div class="alert alert-success">
Congrats! Everything was fine
</div>
@else
<div class="alert alert-error">
Oops! Something went wrong
</div>
@endif
@endif
注意:您可以将状态参数传递给您的愿望
如果您将 message
作为闪存参数名称传递,请使用它,而不是 status
。
@if (session('message'))
@if (session('message')=="success")
<div class="alert alert-success">
Congrats! Everything was fine
</div>
@else
<div class="alert alert-error">
Oops! Something went wrong
</div>
@endif
@endif