页面在验证时不断重定向

Page keeps redirecting on validation

我想做的是在提交表单后进行基本验证,我将 vuejs 与 laravel 一起使用,但在 blade 本身中有一个表单 已提交。

提交后,我们进入控制器验证用户发送的内容,现在问题是其中一个输入为空,然后页面进入重定向循环,导致 ERR_TOO_MANY_REDIRECTS

我们需要返回的 blade 文件是 "joborder/create",我们可以发送到存储函数来检查验证。 我不得不使用 create 作为 post 所以我覆盖了资源中的默认值。

我不知道是什么导致了循环。 我正在使用 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!');
   }

  }

UPDATE:我注意到我有 post 和 get 方法,这是错误的,所以我创建了一个名为 creates with (s)[=15 的新函数=]

|        | 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/creates/

您的问题是您的资源上有一个方法 GET

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

当您调用重定向函数 redirect('joborder/create') 时,您将使用参数 create.

重定向到上面的资源

试试 redirect('joborder')

希望对您有所帮助。