I try to Make multi step form. I create first step blade page but server show me this error Undefined variable: admissionform
This is create-step1.blade.php file which i make a form I post some part of form because my form very large with 32 attribute.
<form action="/front_office_desk/create-step1" method="post">
<div class="row">
<div class="col-lg-12 animate-box" data-animate-effect="fadeInBottom">
<br/>
<div class="col-lg-3 text-right"></div>
<div class="col-lg-3 text-right"></div>
<div class="col-lg-3 text-right"><h1>Date:</h1></div>
<div class="col-lg-3 text-right">
<h2><input type="date" class="form-control" name="entry_date"></h2></div>
</div>
<div class="col-lg-6 animate-box" data-animate-effect="fadeInBottom">
<b>Name:</b><input type="text" value="}" class="form-control"name="name" placeholder="Name">
</div>
<div class="col-lg-6 animate-box" data-animate-effect="fadeInTop">
<b>D.O.B:</b>
<input type="date" class="form-control" value="}" name="dateOfBirth">
</div>
<div class="col-lg-6 animate-box" data-animate-effect="fadeInLeft">
<b>Contact Number 1:</b>
<input type="phone" class="form-control" value="}" name="contactNumber1" placeholder=" First Mobile Number" maxlength="10">
</div>
<div class="col-lg-6 animate-box" data-animate-effect="fadeInRight">
<b>Contact Number 2:</b>
<input type="phone" class="form-control" value="}" name="contactNumber2" placeholder="Second Mobile Number" maxlength="10">
</div>
<div class="col-lg-6 animate-box" data-animate-effect="fadeInLeft">
<b>Email:</b>
<input type="email" class="form-control" value="}" name="email" placeholder="must be end with @gmail @yahoo ">
</div>
<div class="col-lg-6 animate-box" data-animate-effect="fadeInRight">
<b>Reference:</b>
<input type="text" class="form-control" value="}" name="reference" placeholder="Reference">
</div>
<div class="col-lg-12 animate-box" data-animate-effect="fadeInLeft">
<b>Address:</b>
<input type="text" class="form-control" value="}" name="address" placeholder="House Number, Street Number, Area, Locality">
</div>
</div>
</form>
this is my AdmissionformController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Admissionform;
class AdmissionformController extends Controller
{
/**
* Show the step 1 Form for creating a new admissionform.
*
* @return \Illuminate\Http\Response
*/
public function createStep1(Request $request)
{
$admissionform = $request->session()->get('admissionform');
return view('/front_office_desk/create-step1',compact('admissionform', $admissionform));
}
/**
* Post Request to store step1 info in session
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function postCreateStep1(Request $request)
{
$validatedData = $request->validate([
'name' => 'required',
'dateOfBirth' => 'required',
'contactNumber1' => 'required',
'contactNumber2' => 'required',
'email' => 'required',
'reference' => 'required',
'address' => 'required',
]);
if(empty($request->session()->get('admissionform'))){
$admissionform = new Admissionform();
$admissionform->fill($validatedData);
$request->session()->put('admissionform', $admissionform);
}else{
$admissionform = $request->session()->get('admissionform');
$admissionform->fill($validatedData);
$request->session()->put('admissionform', $admissionform);
}
return redirect('/front_desk/step2');
}
}
my create route with front_desk/create-step1 for create new admission and front_desk/create-step2 for check form then click on submit or go to step 1 for edit your mistake but i see error in first step.
this is my admission model file
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Admissionform extends Model
{
public $guarded =
['name','dateOfBirth','contactNumber1','contactNumber2','email','reference','address'];
}
this is my route file
Route::post('/front_office_desk/create-step1', 'AddmissionformController@postCreateStep1');
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire