页面在验证时不断重定向
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')
。
希望对您有所帮助。
我想做的是在提交表单后进行基本验证,我将 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')
。
希望对您有所帮助。