laravel 表单在提交时不会提交给控制器
laravel form not going to controller on submit
我正在使用 laravel 集体表格,但在提交时只是重新加载并停留在同一页面上。
它不会转到 action 属性中提供的控制器方法。
这是我的表单代码
{!! Form::open(['action' => 'UsrController@store', 'method'=>'POST']) !!}
<div class="form-group">
{{Form::label('ph_no','Phone Number')}}
{{Form::text('ph_no','',['class'=>'form-control','placeholder'=>'+92 3342079421'])}}
<br>
{{Form::label('user_type_id','User Type')}}
<br>
{{Form::select('user_type_id',$user_array,null,['class'=>'form-control','placeholder'=>'Please Select a User Type']
)}}
<br>
{{Form::label('country_id','Country')}}
<br>
{{Form::select('country_id',$country_array,null,['class'=>'form-control','placeholder'=>'Please Select a Country']
)}}
</div>
{{Form::submit('Submit',['class'=>'btn btn-primary'])}}
{!! Form::close() !!}
UsrController存储方法参考:
public function store(Request $request)
{
$this->validate($request,[
'name'=>'required',
'email'=>'required',
'user_type_id'=>'required'
]);
$use= new User();
$use->phno=$request->input('ph_no');
$use->user_type_id=$request->input('user_type_id');
$use->country_id=$request->input('country_id');
$use->save();
return redirect('/User')->with('success','User Created!');
}
我正在使用laravel集体v.6.0
编辑:
路线:
Route::resource('Usr','UsrController');
html 为表单生成:
<form method="POST" action="http://localhost/final/hire/public/Usr" accept-charset="UTF-8">
<input name="_token" type="hidden" value="8QMxOxKHVs4LPy0SZ1NN6KgKevMRJwvPa4jC9lEj">
<div class="form-group">
<label for="ph_no">Phone Number</label>
<input placeholder="+92 3342079421" name="ph_no" type="text" value="" id="ph_no" class="form-control">
<br>
<label for="user_type_id">User Type</label>
<br>
<select id="user_type_id" name="user_type_id" class="form-control"><option selected="selected" value="">Please Select a User Type</option><option value="1">Poster</option><option value="2">Worker</option></select>
<br>
<label for="country_id">Country</label>
<br>
<select id="country_id" name="country_id" class="form-control"><option selected="selected" value="">Please Select a Country</option><option value="1">Pakistan</option></select>
</div>
<input type="submit" value="Submit" class="btn btn-primary">
</form>
假设这不是您发布的代码中的拼写错误,我建议切换到 Route::resource('User','UserController');
并将控制器的名称更新为 UserController
。
在商店方法中,您将重定向到 '/User'
,但不会根据您发布的路线片段创建该路线。
编辑:
看起来验证失败了。姓名和电子邮件是必需的,但不在表格中。
我正在使用 laravel 集体表格,但在提交时只是重新加载并停留在同一页面上。 它不会转到 action 属性中提供的控制器方法。
这是我的表单代码
{!! Form::open(['action' => 'UsrController@store', 'method'=>'POST']) !!}
<div class="form-group">
{{Form::label('ph_no','Phone Number')}}
{{Form::text('ph_no','',['class'=>'form-control','placeholder'=>'+92 3342079421'])}}
<br>
{{Form::label('user_type_id','User Type')}}
<br>
{{Form::select('user_type_id',$user_array,null,['class'=>'form-control','placeholder'=>'Please Select a User Type']
)}}
<br>
{{Form::label('country_id','Country')}}
<br>
{{Form::select('country_id',$country_array,null,['class'=>'form-control','placeholder'=>'Please Select a Country']
)}}
</div>
{{Form::submit('Submit',['class'=>'btn btn-primary'])}}
{!! Form::close() !!}
UsrController存储方法参考:
public function store(Request $request)
{
$this->validate($request,[
'name'=>'required',
'email'=>'required',
'user_type_id'=>'required'
]);
$use= new User();
$use->phno=$request->input('ph_no');
$use->user_type_id=$request->input('user_type_id');
$use->country_id=$request->input('country_id');
$use->save();
return redirect('/User')->with('success','User Created!');
}
我正在使用laravel集体v.6.0
编辑:
路线:
Route::resource('Usr','UsrController');
html 为表单生成:
<form method="POST" action="http://localhost/final/hire/public/Usr" accept-charset="UTF-8">
<input name="_token" type="hidden" value="8QMxOxKHVs4LPy0SZ1NN6KgKevMRJwvPa4jC9lEj">
<div class="form-group">
<label for="ph_no">Phone Number</label>
<input placeholder="+92 3342079421" name="ph_no" type="text" value="" id="ph_no" class="form-control">
<br>
<label for="user_type_id">User Type</label>
<br>
<select id="user_type_id" name="user_type_id" class="form-control"><option selected="selected" value="">Please Select a User Type</option><option value="1">Poster</option><option value="2">Worker</option></select>
<br>
<label for="country_id">Country</label>
<br>
<select id="country_id" name="country_id" class="form-control"><option selected="selected" value="">Please Select a Country</option><option value="1">Pakistan</option></select>
</div>
<input type="submit" value="Submit" class="btn btn-primary">
</form>
假设这不是您发布的代码中的拼写错误,我建议切换到 Route::resource('User','UserController');
并将控制器的名称更新为 UserController
。
在商店方法中,您将重定向到 '/User'
,但不会根据您发布的路线片段创建该路线。
编辑:
看起来验证失败了。姓名和电子邮件是必需的,但不在表格中。