JAOdev
JAOdev

Reputation: 331

Controller ValidateRequests laravel

When trying to confirm by email I get this output:

PHP Fatal error: Trait "App\Http\Controllers\ValidateRequests" not found in app/Http/Controllers/CiudadanoController.php on line 16.

The line 16 is on:

class CiudadanoController extends Authenticatable implements MustVerifyEmail

this is the controller code:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Ciudadano;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class CiudadanoController extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;
    use ValidateRequests;


    public function store(Request $request)
    {

        $validated = $this->validate($request, [
            'cuil' => 'required',
            'nombre' => 'required',
            'apellido' => 'required',
            'email' => 'required',
            'password' => 'required',
        ]);
    
        $ciudadano = Ciudadano::create($validated);

        
        $ciudadano->save();
        event(new Registered($ciudadano));

        return("nice");

 }

Upvotes: 0

Views: 145

Answers (1)

Onur Uslu
Onur Uslu

Reputation: 1139

You cannot use the trait name without a namespace prefix if they are not imported and not in the same namespace. You should import the trait of Illuminate\Foundation\Validation\ValidatesRequests or add a namespace prefix.

Alternative 1:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Ciudadano;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

############
use Illuminate\Foundation\Validation\ValidatesRequests;
############

class CiudadanoController extends Authenticatable implements MustVerifyEmail
{
    ###
    use ValidatesRequests;
    ###

    // ...
}

Alternative 2:


// ...

class CiudadanoController extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

    ####
    use \Illuminate\Foundation\Validation\ValidatesRequests;
    ####


    // ...
}

Upvotes: 1

Related Questions