форма laravel не собирается контролеру при отправке - PullRequest
0 голосов
/ 08 ноября 2019

Я использую коллективную форму laravel, но при отправке она просто перезагружается и остается на той же странице. Это не относится к методу контроллера, указанному в атрибуте действия.

Вот мой код формы

 {!! 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>

1 Ответ

1 голос
/ 08 ноября 2019

Если предположить, что это не опечатка в опубликованном вами коде, я бы предложил переключиться на Route::resource('User','UserController');, а также обновить имя контроллера до UserController.

В методе store вы перенаправляете на '/User', но этот маршрут не будет создан из отправленного вами фрагмента маршрута.

Edit:

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

...