Php 带有Laravel联系表的确认警报框
我对Laravel是个新手,但我已经设法让一个联系表工作,并在出现一些验证错误时显示这些错误 然而,我确实有一个问题,不知道如何处理它在拉雷维尔。当发送消息(验证规则通过)时,我希望显示一个警告框(引导式)说“谢谢,消息已发送” 代码Php 带有Laravel联系表的确认警报框,php,laravel,blade,Php,Laravel,Blade,我对Laravel是个新手,但我已经设法让一个联系表工作,并在出现一些验证错误时显示这些错误 然而,我确实有一个问题,不知道如何处理它在拉雷维尔。当发送消息(验证规则通过)时,我希望显示一个警告框(引导式)说“谢谢,消息已发送” 代码 public function postContact() { $formData = Input::all(); // input validator with its rules $validator = Validator::mak
public function postContact()
{
$formData = Input::all();
// input validator with its rules
$validator = Validator::make(
array(
'name' => $formData['name'],
'email' => $formData['email'],
'subject' => $formData['subject'],
'message' => $formData['message']
),
array(
'name' => 'required|min:3',
'email' => 'required|email',
'subject' => 'required|min:6',
'message' => 'required|min:5'
)
);
if ($validator -> passes()) {
// data is valid
Mail::send('emails.message', $formData, function($message) use ($formData) {
$message -> from($formData['email'], $formData['name']);
$message -> to('info@company.com', 'John Doe') -> subject($formData['subject']);
});
return View::make('contact');
} else {
// data is invalid
return Redirect::to('/contact') -> withErrors($validator);
}
}
如何在Laravel 4中实现这一点?当您的数据无效时,您可以使用
withErrors()
方法将一些数据(错误)传递到路由。
您可以对任何类型的数据使用相同的过程
例如:
return View::make('contact')->withMessage("Thanks, message has been sent");
此方法withMessage()
将创建一个新变量message
,并将其存储在会话中一个请求周期
因此,在您看来,您可以这样访问它:
@if(Session::has('message'))
<div class="alert-box success">
{{ Session::get('message') }}
</div>
@endif
@if(会话::has('message'))
{{Session::get('message')}
@恩迪夫
您可以将与重定向
类的方法一起使用:
if ($validator -> passes()) {
// data is valid
Mail::send('emails.message', $formData, function($message) use ($formData) {
$message -> from($formData['email'], $formData['name']);
$message -> to('info@company.com', 'John Doe') -> subject($formData['subject']);
});
//Redirect to contact page
return Redirect::to('/contact')->with('success', true)->with('message','That was great!');
} else {
// data is invalid
return Redirect::to('/contact') -> withErrors($validator);
}
您将被重定向到带有会话变量success
和message
集的联系人页面
将它们用于视图中的警报,例如在引导警报中:
带刀片
@if(Session::has('success'))
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<strong>Success!</strong> {{ Session::get('message', '') }}
</div>
@endif
<?php if(Session::has('success')): ?>
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<strong>Success!</strong> <?php echo Session::get('message', ''); ?>
</div>
<?php endif; ?>
@if(Session::has('success'))
&时代;
成功{{Session::get('message','')}
@恩迪夫
无刀片
@if(Session::has('success'))
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<strong>Success!</strong> {{ Session::get('message', '') }}
</div>
@endif
<?php if(Session::has('success')): ?>
<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<strong>Success!</strong> <?php echo Session::get('message', ''); ?>
</div>
<?php endif; ?>
&时代;
成功强>
如果您像这样使用它们,您甚至可以提供成功警报、信息警报或任何您想要的警报。我假设您使用的是引导,因此此答案将在弹出窗口中显示消息(我在Laravel 5上进行了测试)
确保此代码将添加到页脚中
<!-- Show Pop up Window if there is message called back -->
<?php
if(session('message'))
{
echo '<script>
document.getElementById("popup_message").click();
</script>';
}
?>
{!! message_pop_up_window($message) !!}