我的 PagesController.php
中的代码umbraco.config
public function postIndex(Request $request){
$this->validate($request, [
'name' => 'required',
'email' => 'required|email',
'phone' => 'min:3',
'message' => 'min:10',
]);
$data = array(
'name' => $request->name,
'email' => $request->email,
'phone' => $request->phone,
'bodyMessage' => $request->message,
'subject' => 'Some subject',
);
Mail::send('emails.contact', $data, function($message) use ($data){
$message->from($data['email'], "Hello");
$message->to('some_user@gmail.com');
$message->subject($data['subject']);
});
Session::flash('success', 'Email was sent');
return redirect('/');
}
是来自表单输入的数据。如果某些错误在验证视图中,则重定向到'/'。
我的问题是如何处理视图中的错误消息?
答案 0 :(得分:0)
Session::flash('success', 'Email was sent');
// this will set messages in session
return redirect('/');
// this will redirect to the given url
在视图中,您可以显示以下消息:
if(Session::has('success'))
{
echo '<div class="alert alert-danger">'. Session::get("success").'</div>';
}
注意:Session :: flash()消息仅对一个请求保持活动状态。
答案 1 :(得分:0)
在您显示validation error的视图中,您可以在刀片文件中添加以下代码:
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<强>更新强>
一个原因可能是web
中间件在您的情况下应用了两次。 Laravel默认在app/Providers/RoutesServiceProvider.php
中添加Web中间件,并再次将其添加到routes.php中
通过从routes.php中删除web
中间件来尝试。