Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Method validate does not exist

I tried other fixes suggested by others but they didn't work. I really don't know why this is not working, been searching for two hours straight.

<?php

namespace App\Http\Controllers;

use App\User;

use App\Http\Controllers\Controller as Controller;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\Request;

class RegisterUser extends Controller
{




    use ValidatesRequests;

    public function __construct()
    {
        $this->middleware('guest');
    }

    public function store(Request $request)
    {

        $request->validate([
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'passwordr' => 'required|string|min:6',
        ]);



        $name = 'NoName';
        $email = $request->input('email');
        $password = bcrypt($request->input('password'));

        $user = new \App\User();
        $user->name = $name;
        $user->password = $password;
        $user->email = $email;
        $user->save();

        return redirect()->action('HomeController@index');
    }
}

I don't know whats wrong

like image 787
Coco Avatar asked Mar 11 '26 22:03

Coco


1 Answers

When you add a trait to some class then the methods of that trait are available in that class. So here what you need to do is:-

$this->validate($request, [
  'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'passwordr' => 'required|string|min:6',
        ]);

instead of 

$request->validate([
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'passwordr' => 'required|string|min:6',
        ]);
like image 130
Kushagra Saxena Avatar answered Mar 13 '26 13:03

Kushagra Saxena