<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class GuardRequest extends FormRequest
{
public function authorize()
{
if ($this->guardName() !== '') {
return true;
}
return false;
}
public function rules()
{
return [
'guard_name' => ['required', 'string', 'between:2,60', Rule::in(['api', 'admin']),],
'guard_id' => ['required', 'integer', 'exists:' . $this->guardName() . ',id'],
];
}
public function attributes()
{
return [
'roles' => __('message.role.id'),
'guard_name' => __('message.permission.guard_name'),
'guard_id' => __('message.role.guard_id'),
];
}
public function messages()
{
return [
];
}
public function guardName()
{
$guardName = $this->post('guard_name', '');
switch ($guardName) {
case 'api':
return 'App\Models\User';
case 'admin':
return 'App\Models\Admin';
default:
return '';
}
}
}