2014-09-23 4 views
0

내 문제는 내 양식을 제출할 때 get 메소드를 통과하는 것입니다. 워크 플로우는 submit -> get -> post 양식이며 submit submit -> post 여야합니다. 경로Laravel 4 form post issue

Route::get('/pre-register-birth',array('as'=>'pre-register-birth', 'uses'=>'[email protected]')); 
    Route::post('/pre-register-birth', '[email protected]'); 

보기

{{ Form::open(array('method' => 'POST', 'action' => '[email protected]', 
     'class'=>'form-horizontal', 'id'=>'regist-form')) }} 

컨트롤러

: 나는 드 배열을 검증하기 위해 내 get 메소드의 조건이 필요 는

내 코드 null가 아닌

public function preRegisterBirthData() 
{ 
    $user = Session::get('user'); 

    if ($user) 
     return View::make('user/pre-register-birth')->with('tempUser', $user); 
    else 
     return Redirect::Route('pre-register-get'); 
} 

public function preRegisterBirthDataPost() 
{ 
    $validator = Validator::make(Input::all(), 
     array(
      'birthplace' => 'required|max:100', 
      'birthdate' => 'required|max:100|date|date_format:Y-m-d' 
     ) 
    ); 
    if ($validator->fails()) { 
     return Redirect::Route('pre-register-birth') 
      ->withErrors($validator) 
      ->withInput(); 
    } else { 
     $user = array(
      'email' => Input::get('email'), 
      'pass' => Input::get('pass'), 
      'name' => Input::get('name'), 
      'surname' => Input::get('surname'), 
      'birthplace' => Input::get('birthplace'), 
      'birthdate' => Input::get('birthdate'), 
      'hourKnow' => Input::get('hourKnow'), 
      'dataCorrect' => Input::get('dataCorrect'), 
      'news' => Input::get('news'), 
     ); 
     return Redirect::Route('pre-register-terms')->with('user', $user); 
    } 
} 
+0

생성 된 HTML도 추가 할 수 있습니까? (브라우저에서 소스를 볼 때 HTML) – Bowersbros

+0

'/ pre-register-birth'에'action'을'/ pre-register-birth'로 변경하십시오. Laravel은 게시물 요청을 처리하고 경로를보고 원하는 컨트롤러로 보냅니다 방법. 표준 Laravel 컨트롤러 방법을 사용하지 않고 설정하는 이유가 있습니까? – DavidT

+0

해결책이 작동하지 않습니다. 표준 Laravel 컨트롤러 방법으로 무엇을 의미하며 설정해야합니다. –

답변

0

이전에이 문제를 본 것 같습니다. Laravel은 무엇 이건 이상한 이유는, 그래서 action => ... 좋아하지 않는 A에서 B로 양식 선언을 변경

// A 
{{ Form::open(array('method' => 'POST', 'action' => '[email protected]', 
    'class'=>'form-horizontal', 'id'=>'regist-form')) }} 

// B 
{{ Form::open(array('method' => 'POST', 'url' => 'pre-register-birth', 
    'class'=>'form-horizontal', 'id'=>'regist-form')) }} 

공지 사항 나는 url => ...action => ...을 변경 그것은 작은 변화지만, 그것을 해결할 수 있습니다. 그러나 다음을 추가해야 할 수도 있습니다.

Route::post('/pre-register-birth', array('as'=> 'pre-register-birth', 'uses' => '[email protected]')); 

그래서 이름이 지정된 경로를 인식합니다.

희망이 도움이됩니다.

+0

안녕하세요, 죄송 합니다만 문제는 게시 방법입니다. if redirect가 user 매개 변수를 전달하지 않고 get 메소드를 항상 else로 이동시킵니다. –