Страница продолжает перенаправлять при проверке - PullRequest
0 голосов
/ 13 сентября 2018

То, что я пытаюсь сделать - это базовая проверка после отправки формы, я использую vuejs вместе с laravel, но в самом блейде есть форма, которая отправляется.

После отправки мы идем в контроллер для проверки отправляемых пользователем материалов. СЕЙЧАС возникает проблема, когда один из входов пуст, затем страница переходит в цикл перенаправления, в результате чего получается ERR_TOO_MANY_REDIRECTS.

блейд-файл, который нам нужно вернуть, называется "joborder / create", и мы получаем функцию отправки в хранилище для проверки правильности. Мне пришлось использовать create как пост, поэтому я перезаписал ресурс по умолчанию.

Понятия не имею, что вызывает петлю. Я использую Laravel 5.2

Любая помощь будет весьма заметна.

Маршрут:

Route::resource('joborder' ,'JoborderController');
Route::POST('joborder/create','JoborderController@create');

Файл Blade:

<div class="pubdiv col-md-12" >


        {!! Form::open(['action' => 'JoborderController@store','method' =>'POST']) !!}
              {{ csrf_field() }}
     <h3>basicinput</h3>
     <div class="row">
           <div class="col-sm-3 col-xs-6 pull-right">
               <div class="form-group">
                    {!! Form::label('company' , 'ComapnyName')!!} 
                    <input type="text" class="form-control " name="owner" value="{{$company_owner->name}}"  disabled>
           </div>
       <div class="form-group ">
                <input type='submit'  value="finish" name="submit" style="margin-top:4px" class="col-md-12 btn btn-t-primary btn-theme">

              </div>

          {!! Form::close() !!} <!-- end form post a job -->

Контроллер:

  if(session()->get('role_active') != 1){
      return redirect('thehood')->with('error','NO CAN DO');
  }else{
   $this->validate($request, [
           'alljobs_id' => 'required',
           'joborder_id' => 'required',
           'notes'=>'required',
           'state' =>'required',
           'city' => 'required',
           'type' => 'required',
           'salary' => 'required',
           'created_at' => 'required'
        ]);

   // after moving these remove the keys from request
   $alljobs_id = $request->alljobs_id;
   $joborder_id = $request->joborder_id;
   $request->request->remove('joborder_id');
   $request->request->remove('alljobs_id');

   $check_prof + $check_prof_custom  = 9;
   if(($check_prof + $check_prof_custom < 5 ) || ($check_behv + $check_behv_custom < 5 )){
     return redirect('joborder/create')->with('error','5 input is required!');
   }

  }

ОБНОВЛЕНИЕ : я заметил, что у меня есть и метод post, и метод get, который был неправильным, поэтому я создал новую функцию с именем create с (s)

|        | POST      | joborder/crawltitle         |                  | App\Http\Controllers\JoborderController@crawltitle              | web           |
|        | GET|HEAD  | joborder/create             | joborder.create  | App\Http\Controllers\JoborderController@create                  | web           |
|        | POST      | joborder/creates            |                  | App\Http\Controllers\JoborderController@creates                 | web           |
|        | POST      | joborder/moveAttrib     

новая функция теперь, если проверка не удалась, она перенаправляет меня на страницу 404, но моя адресная строка - / joborder / create /

1 Ответ

0 голосов
/ 13 сентября 2018

Ваша проблема в том, что у вас есть метод GET на вашем ресурсе

Route::resource('joborder' ,'JoborderController');

Когда вы вызываете функцию перенаправления redirect('joborder/create'), вы перенаправляете на ресурс выше с аргументом create.

Попробуйте redirect('joborder') вместо.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...