amir garmroudi
amir garmroudi

Reputation: 1

ArgumentCountError Too few arguments

I want to add data in database in Laravel, but I get error. This is my Error: ArgumentCountError Too few arguments to function App\Http\Requests\Admin\Categories\StoreRequest::Illuminate\Foundation\Providers{closure}(), 0 passed in E:\xampp\htdocs\cylinders\cylinders\vendor\laravel\framework\src\Illuminate\Macroable\Traits\Macroable.php on line 124 and exactly 1 expected

Here is my Route:

Route::post('', [CategoriesController::class, 'store'])->name('admin.categories.store');

my page:

<form action="{{ route('admin.categories.store') }}" method="post">
                        @csrf
                          <div class="card-body">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label>Slug</label>
                                          <input type="text" class="form-control" name="slug">
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label>Title</label>
                                          <input type="text" class="form-control" name="title">
                                      </div>
                                  </div>
                              </div>
                          </div>
                          <!-- /.card-body -->

                          <div class="card-footer">
                              <button type="submit" class="btn btn-primary float-left">Save</button>
                          </div>
                      </form>

my Contoller:

public function store(StoreRequest $request)
    {
        
        $validatedData = $request->validate();
        
        $createdCategory = Category::create([
            'title' => $validatedData['title'],
            'slug' => $validatedData['slug'],
        ]);
        
        if(!$createdCategory){
            return back()->with('failed', 'Failed to Create Category.');
        }
        return back()->with('success', 'Success to Create Category.');
    }

my Request:

<?php

namespace App\Http\Requests\Admin\Categories;

use Illuminate\Foundation\Http\FormRequest;

class StoreRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title' => 'required|min:3|max:128|unique:categories,title',
            'slug' => 'required|min:3|max:128|unique:categories,slug',
        ];
    }
}

Upvotes: 0

Views: 346

Answers (0)

Related Questions