John Deck
John Deck

Reputation: 899

laravel - make a validate function

I'm trying to make a function for validating data .. so i can reuse it any where in my controller

UserController :

public function store(Request $request)
    {
        $validated = $this->validateUser();
        $request_data = $validated->except(['permissions']);
        $request_data['password'] = Hash::make(123456);
        $user = User::create($request_data);
        $user->attachRole('admin');
        $user->syncPermissions($request->permissions);  
        return redirect()->route('dashboard.users.index');
    }

public function update(Request $request, User $user)
    {
        $validated = $this->validateUser($user->id);

        $request_data = $request->except(['permissions']);
        $user->update($request_data);
        $user->syncPermissions($request->permissions);
        return redirect()->route('dashboard.users.index');
    }


public function validateUser($value=null)
    {
        return request()->validate([
            'full_name'   => 'required|min:5|max:255',
            'email'       => 'required|unique:users,email,'.$value,
            'civil_num'   => 'required|unique:users,civil_num,'.$value,
            'permissions' => 'required|min:1',
        ]);
    }

when trying to save the data error occured

Call to a member function except() on array 

Upvotes: 0

Views: 49

Answers (1)

FAEWZX
FAEWZX

Reputation: 1029

Try not use array

$request_data = $request->except('permissions');

Upvotes: 1

Related Questions