mahdi mehrabi
5 سال پیش توسط mahdi mehrabi مطرح شد
7 پاسخ

ارور method not allowed

سلام دوستان
من یک route دارم که از نوع post هست که به متد یک کنترلر وصل میشه و توی اون کنترلر اطلاعات رو به این صورت validate میکنه بعد عملیات انجام میشه

   $this->validate($request,
            [
                'company_name' => 'required',
                'title' => 'required',
                'tell' => 'required',
                'mobile' => ['required', 'regex:/^09(3|1|2|3|4|9)\d{8}$/'],
                'address' => 'required',
                'description' => 'required'
            ]);

توی blade ام هم اطلاعات زدم با method پست ارسال بشه و csrf_field رو هم گذاشتم اما اگر اطلاعات validate نباشه ارور method not allowed رو بهم میده


ثبت پرسش جدید
Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@mahdimehrabi17

اگر ارث بری تون به این شکل هست دقت کنید همه نیم اسپیس ها use شده باشه
توی گروپ ها من خودم از route استفاده میکنم ! در آموزش جناب موسوی هم شکی نیست حتما this کار میکنه

توی اسم متد ها دقت کنید ، حروف کوچک و بزرگ و یه dd بگیرید از متد ببینید چی بر میگردونه!
مرحله به مرحله دیباگش کنید


محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 5 سال پیش مطرح شد
0

@mahdimehrabi17

کدهای form و route رو قرار بدید.


mahdi mehrabi
@mahdimehrabi17 5 سال پیش آپدیت شد
0

@drcode.ir

form

<form action="{{route('employer.storeJob')}}" class="form-horizontal" method="post" enctype="multipart/form-data">
        {!! csrf_field() !!}
        <div class="col-sm-6">
            <label for="" class="control-label">عنوان آگهی</label>
            <input type="text" class="form-control" name="title" value="{{old('title')}}"
                   placeholder="مثل دکتر متخصص رژیم غذایی">
        </div>
        <div class="col-sm-6">
            <label for="" class="control-label">نام شرکت</label>
            <input type="text" class="form-control" name="company_name" value="{{$employer->company_name}}"
                   placeholder="مثل دیجی بنیان">
        </div>
        <div class="col-sm-6">
            <label for="" class="control-label">تلفن</label>
            <input type="text" class="form-control" name="tell" value="{{$employer->tell}}" placeholder="02122xxx22">
        </div>
        <div class="col-sm-6">
            <label for="" class="control-label">تلفن همراه</label>
            <input type="text" class="form-control" name="mobile" value="{{old('mobile')}}" placeholder="09122222222">
        </div>
        <div class="form-group" style="margin-top:15px">
            <div class="col-sm-8 col-sm-offset-2">
                <label for="" class="control-label">تصویر آگهی شغلی</label>
                <input type="file" name="image" class="form-control">
            </div>
        </div>
        <input type="hidden" name="expertise_id" value="{{$expertise->id}}">
        <div class="col-sm-12">
            <label for="" class="control-label">آدرس شرکت</label>
            <textarea name="address" class="form-control" cols="30" rows="10">
                {{$employer->address}}
            </textarea>
        </div>
        <div class="col-sm-12">
            <label for="" class="control-label">توضیحات</label>
            <textarea name="description" class="form-control" cols="30" rows="10">
                                {{old('description')}}
            </textarea>
        </div>
        <div style="margin-top:15px;display: inline-block"></div>
        <div class="row">
            <button class="btn btn-success center-block btn-lg" type="submit"> اضافه کردن</button>
        </div>
    </form>

route

        $this::post('/job/store','EmployerController@storeJob')->name('employer.storeJob');

محمد صادقیان
تخصص : برنامه نویس وب - فریم ورک Lara...
@drcode.ir 5 سال پیش مطرح شد
0

این this رو که در route گذاشتید من باهاش آشنایی ندارم. اگه به Route تغییر بدید باز همون مشکل هست؟


mahdi mehrabi
@mahdimehrabi17 5 سال پیش مطرح شد
0

@drcode.ir
داخل route group هستش
خیر درست نشد


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@mahdimehrabi17

داخل روت گروپ هم که باشه از این باید استفاده کنید
Route::post

در متد storeJob یه ddبگیرید از request
ورودی storeJob رو هم

public function storeJob(Request $request){
dd($request)
}

نیم اسپیس هارو هم دقت کنید که حتما use شده باشن


mahdi mehrabi
@mahdimehrabi17 5 سال پیش مطرح شد
0

@Alimotreb
ممنون این هارو use کردم ببینید کافیه؟

use App\Coingroup;
use App\Expertise;
use App\Http\Controllers\UserController;
use App\State;
use Illuminate\Http\Request;

در ضمن کلاس کنترلم هم از UserController ارث میبره که UserController هم PanelController ارث میبره و
PanelController از خود controller ارث میبره مشکلی نداره که ؟
راجب اینکه بجای this$ از route استفاده کنم آقای حسام موسوی تو آموزششون گفتن توی route group هم میتونیم بجای route از this$ استفاده کنیم


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@mahdimehrabi17

اگر ارث بری تون به این شکل هست دقت کنید همه نیم اسپیس ها use شده باشه
توی گروپ ها من خودم از route استفاده میکنم ! در آموزش جناب موسوی هم شکی نیست حتما this کار میکنه

توی اسم متد ها دقت کنید ، حروف کوچک و بزرگ و یه dd بگیرید از متد ببینید چی بر میگردونه!
مرحله به مرحله دیباگش کنید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام