Jeżeli chcesz błędy walidacji to użyj Requestów które wstrzykujesz w metodę kontrolera.
<?php
namespace App\Http\Requests\Auth;
use Illuminate\Foundation\Http\FormRequest;
/**
* Class LoginRequest
*/
class LoginRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules
(): array {
return [
'email' => 'required|string|email',
'password' => 'required|string',
];
}
}
i AuthController:
<?php
namespace App\Http\Controllers;
use App\Http\Requests\Auth\LoginRequest;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
/**
* Class AuthController
*/
class AuthController extends Controller
{
/**
* Login user and return a token.
*
* @param LoginRequest $request
*
* @return Response
*/
public function login(LoginRequest $request): Response
{
$credentials = $request->only('email', 'password');
if (!$token = Auth::guard()->attempt($credentials)) {
return response(['message' => 'Invalid credentials.'], Response::HTTP_UNAUTHORIZED);
}
return response(null, Response::HTTP_OK, ['Authorization' => $token]);
}
}