2FAuth/app/Api/v1/Requests/GroupStoreRequest.php

51 lines
1.1 KiB
PHP

<?php
namespace App\Api\v1\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rule;
class GroupStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return Auth::check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => [
'required',
'regex:/^[A-zÀ-ú0-9\s\-_]+$/',
'max:32',
Rule::notIn([__('commons.all')]),
Rule::unique('groups')->where(fn ($query) => $query->where('user_id', $this->user()->id)),
],
];
}
/**
* Get the error messages for the defined validation rules.
*
* @return array<string, string>
*/
public function messages(): array
{
return [
'name.not_in' => __('errors.reserved_name_please_choose_something_else'),
];
}
}