Use request validation

This commit is contained in:
ben 2023-10-09 07:29:02 -04:00
parent 671d422bff
commit b26174f420
2 changed files with 35 additions and 15 deletions

View File

@ -5,27 +5,15 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\User;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use App\Http\Requests\StoreUserRequest;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller
{
public function registerUser(Request $request)
public function registerUser(StoreUserRequest $request)
{
$validator = Validator::make($request->all(), [
'firstname' => ['required', 'string'],
'lastname' => ['required', 'string'],
'email' => ['required', 'string'],
'uuid' => ['required', 'string'],
'profile' => ['required', 'string'],
]);
if ($validator->fails()) {
return response()
->json($validator->errors());
}
$validated = $validator->validated();
$validated = $request->validated();
$validated['is_admin'] = false;
$validated['password'] = Str::random(8);
$validated['status'] = true;

View File

@ -0,0 +1,32 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreUserRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'firstname' => ['required', 'string'],
'lastname' => ['required', 'string'],
'email' => ['required', 'string'],
'uuid' => ['required', 'string'],
'profile' => ['required', 'string'],
];
}
}