lundi 11 novembre 2019

Undefined variable: admissionform (View:...............\create-step1.blade.php)

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