Reputation: 331
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
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