2016-11-01 23 views
0

検証エラーとPOSTリクエストに戻りますLaravel 5は、どのように私はLaravelでPOSTルートを持っている

ここで

Route::post('/proceed-to-payment', '[email protected]')->name('proceed-to-payment');

proceed-to-paymentのための私のコントローラのメソッドです:

public function proceedToPayment(Request $request) { 

    if(empty($request->get('tick_statement_of_fact'))) { 
     return redirect()->route('quote-summary')->with('tick_statement_of_fact', 'I am so frustrated.'); 


    } else { 
     return view('quote.payment', compact('date_cover_required', 'expiry_date')); 
    } 

} 

quoteSummary()メソッド:

public function quoteSummary(QuoteRequest $request) 
    { 

     //dd($request); 
     // get the quote 
     $quote_data = $this->getQuote($request); 
     $quote = number_format($quote_data, 2, '.', ','); 



     if(!empty($request->get('units'))) { 
      $units = $request->get('units'); 
     } 
     if(!empty($request->get('limit_of_indemnity'))) { 
      $limit_of_indemnity = number_format($request->get('limit_of_indemnity'), 2, '.', ','); 
     } 
     if(!empty($request->get('title'))) { 
      $title = $request->get('title'); 
     } 


     // store data in the session so we can access from generated documents 
     session(['units' => $units, 'limit_of_indemnity' => $limit_of_indemnity, 'insured_name' => $insured_name, 'title' => $title, 'first_name' => $first_name, 'last_name' => $last_name, 'contact_number' => $contact_number, 'email' => $email, 'quote' => $quote]); 



     return view('quote.summary'); 

    } 

私は戻ってquote-summaryにリダイレクトしようとしていますが、それはPOSTあったようリダイレクトがGETをやっているように見えるように私はMethodNotAllowedHttpExceptionを取得しています。

いくつかの検証エラーメッセージで私のPOSTルートに戻る方法についてのアイデアはありますか?

+1

投稿のルートに戻る理由は何ですか?あなたは、あなたのアプリの構造を考え直す必要があります。 'quote-summary'に何かを投稿する必要がある場合は、postデータを受け取り、それを保存して(セッション、データベース、どこでも)' quote-summary'の前に中間ステップを追加し、 'quote-summary'に送ります'' quote-summary'はgetルートです。 – Styphon

+0

私はそのビューのいくつかのフィールドを検証しているので私はポストルートに戻ります。検証が失敗した場合、私のコードから自明であるように、そのビューに戻り、エラーメッセージを出力する必要があります。 – user3574492

+0

@Styphonが正しいです。それは奇妙に聞こえる。あなたの最初の投稿が成功した場合、成功していない投稿の後にこの成功した投稿に戻ってくる必要があるのはなぜですか? – schellingerht

答えて

1

、両方を有するポストと取得、あなたのquoteSummaryアクションのルート、すなわち、あなたが後にしているだけで何だろう:

ルート::ポスト( '/引用サマリー'、 'QuoteController @ quoteSummary') - >名前( 'quote-summary'); ルート:: get( '/ quote-summary'、 'QuoteController @ quoteSummary') - >名前( 'quote-summary');

関連する問題