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");
}
usedeclarations should be placed above the class.ValidatesRequests, note thesin the middleuse Path\To\MyTrait;before theclass ...definition, thenuse MyTraitwithin the class. Since Laravel heavily uses namespaces, if you try to calluse MyTrait, and it has a different namespace, it will fail with the message in the question. If they share the same namespace, then you don't have to;use MyTrait;within the class is all that's required. Spelling the trait correctly is another, separate issue though 😅