У меня есть два различных маршрута: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). После отказа от формы пользователь должен быть перенаправлен на просмотр (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)
Может кто-нибудь сказать мне, что я неправильно делаешь здесь ?