Страница продолжает перенаправлять при проверке

Я пытаюсь сделать базовую проверку после отправки формы, я использую 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 with (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 / created /

Я не вижу никакого маршрута GET к joborder / create, как вы можете перенаправить на него?

Leonardo Gasparini 13.09.2018 13:43

У вас есть дополнительная закрывающая фигурная скобка

rpm192 13.09.2018 13:46

Не могли бы вы запустить php artisan route:list и добавить результат в свой пост?

rpm192 13.09.2018 13:49

обновил пост

Pc Monk 13.09.2018 14:04
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
355
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

Вместо этого попробуйте redirect('joborder').

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

это похоже на один шаг ближе, мне нужно, чтобы пользователь был перенаправлен на joborder / create, а не на сам joborder

Pc Monk 13.09.2018 14:07

у вас есть этот маршрут как тип GET? тот, который вы показываете нам, это POST, вы не можете перенаправить на него

JoseSilva 13.09.2018 15:13

нет, я изменил маршрут на новый под названием «joborder / created», теперь я вижу ошибки, но на странице 404! и это происходит на «$ this-> validate», когда есть пустое значение!

Pc Monk 13.09.2018 15:18

почему вы не создаете заявку в магазин? это валидатор, но он работает до метода контроллера. проверьте эту ссылку laravel.com/docs/5.7/validation#creating-form-requests

JoseSilva 13.09.2018 15:32

так что с этим мне не нужно делать проверку на контроллере, верно? и как мне реализовать это только для одной из моих функций?

Pc Monk 13.09.2018 16:54

Правильно! просто замените функцию (Request $ request) на функцию (App \ Path \ MyStoreRequest $ request) и все готово.

JoseSilva 13.09.2018 16:56

Другие вопросы по теме