<?php
namespace App\Http\Requests\Admin\Role;
use App\Models\Role;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Spatie\Permission\Exceptions\RoleDoesNotExist;
class UpdateRequest extends FormRequest
{
public $role;
public function authorize()
{
try {
$this->role = Role::find($this->post('id', 0));
} catch (RoleDoesNotExist $exception) {
return false;
}
return true;
}
public function rules()
{
$tableNames = config('permission.table_names');
return [
'id' => ['required', 'integer',],
'name' => ['required', 'string', 'between:2,60', Rule::unique($tableNames['roles'])->ignore($this->role),],
'guard_name' => ['required', 'string', 'between:2,60', Rule::in(['api', 'admin']),],
];
}
public function attributes()
{
return [
'name' => __('message.role.name'),
'guard_name' => __('message.permission.guard_name'),
];
}
public function messages()
{
return [
];
}
}