0
我有兩個不同的路線:Misredirect在laravel驗證
Route::post('contact', '[email protected]');
Route::post('inquiry', [ 'as' => 'inquiry', 'uses' => '[email protected]']);
及其方法:
public function postContact(Request $request){
$token = $request->input('g-recaptcha-response');
if (strlen($token) >0) {
$this->validate($request, [
'fname' => 'required',
'lname' => 'required',
'phone' => 'required',
'email' => 'required|email',
'subject' => 'min:3',
'message' => 'min:10']);
$data = array(
'fname' => $request->fname,
'lname' => $request->lname,
'phone' => $request->phone,
'email' => $request->email,
'subject' => $request->subject,
'bodyMessage' => $request->message
);
Mail::send('emails.contact', $data, function($message) use ($data){
$message->from($data['email']);
$message->to('[email protected]');
$message->subject($data['subject']);
});
Session::flash('success', 'Your Email was sent sucessfully!');
return redirect('/contact');
}
}
和:
public function postInquiry(Request $request){
$token = $request->input('g-recaptcha-response');
if (strlen($token) >0){
$this->validate($request, [
'fname' => 'required',
'lname' => 'required',
'phone' => 'required',
'country' => 'required',
'email' => 'required|email',
'subject' => 'min:3',
'message' => 'min:10']);
$data = array(
'fname' => $request->fname,
'lname' => $request->lname,
'phone' => $request->phone,
'country' => $request->country,
'email' => $request->email,
'subject' => $request->subject,
'bodyMessage' => $request->message
);
Mail::send('emails.inquiry', $data, function($message) use ($data){
$message->from($data['email']);
$message->to('[email protected]');
$message->subject($data['subject']);
});
Session::flash('success', 'Your Email was sent sucessfully!');
return view('public.pages.thankyou');
}
}
我遇到的麻煩是第二方法不能正常工作。查詢表單在視圖(single.blade.php)中。在sumbitting後,表單用戶應該被重定向到查看(thankyou.blade.php)視圖,但它會重定向到查看(single.blade.php)而不發送電子郵件,並且不會顯示任何錯誤。
如果我刪除驗證部分:
$this->validate($request, [
'fname' => 'required',
'lname' => 'required',
'phone' => 'required',
'country' => 'required',
'email' => 'required|email',
'subject' => 'min:3',
'message' => 'min:10'
]);
從postInquiry它完美的第二個方法(發送電子郵件和重定向做thankyou.blade.php)
誰能告訴我,我有什麼錯在這裏做?