页面在验证时保持重定向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面在验证时保持重定向相关的知识,希望对你有一定的参考价值。
我正在尝试做的是在提交表单后进行基本验证,我使用vuejs和laravel,但在刀片本身中有一个表单可以提交。
提交后我们进入控制器验证用户发送的东西,现在这里是其中一个输入为空的问题,然后页面进入重定向循环,由ERR_TOO_MANY_REDIRECTS
产生。
我们需要返回的刀片文件是“joborder / create”,我们可以发送到store函数来检查验证。我不得不使用create作为帖子,所以我覆盖了资源的默认值。
我不知道是什么导致循环。我正在使用laravel 5.2
任何帮助都会非常明显。
路线:
Route::resource('joborder' ,'JoborderController');
Route::POST('joborder/create','JoborderController@create');
刀片文件:
<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方法,这是错误的所以我做了一个名为created with s(s)的新函数
| | POST | joborder/crawltitle | | AppHttpControllersJoborderController@crawltitle | web |
| | GET|HEAD | joborder/create | joborder.create | AppHttpControllersJoborderController@create | web |
| | POST | joborder/creates | | AppHttpControllersJoborderController@creates | web |
| | POST | joborder/moveAttrib
现在新功能如果验证失败,它会将我重定向到404页面,但我的地址栏是/ joborder / creates /
答案
您的问题是您的资源上有一个方法GET
Route::resource('joborder' ,'JoborderController');
当您调用重定向函数redirect('joborder/create')
时,您将使用参数create
重定向到上面的资源。
试试redirect('joborder')
吧。
希望能帮助到你。
以上是关于页面在验证时保持重定向的主要内容,如果未能解决你的问题,请参考以下文章