demo/app/Modules/Group/UI/Web/Requests/Update.php
2023-03-23 18:50:47 +01:00

74 lines
2.1 KiB
PHP

<?php
namespace LaraBB\Group\UI\Web\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\RedirectResponse;
/**
* Class Edit
* @package LaraBB\Group\UI\Web\Requests
*/
class Update extends FormRequest
{
/**
* @return bool
*/
public function authorize(): bool
{
return true;
}
/**
* @return array
*/
public function rules(): array
{
return [
'uuid' => 'required|uuid|exists:groups,uuid',
'group' => 'required|max:255',
'priority' => 'required|integer',
'color' => 'required|regex:/^#[a-zA-Z0-9]{6}/i',
];
}
/**
* @return array
*/
public function messages(): array
{
return [
'uuid.required' => 'Es wurde keine UUID übergeben.',
'uuid.uuid' => 'Die übergebene UUID ist ungültig.',
'uuid.exists' => 'Die zu bearbeitende Gruppe existiert nicht.',
'group.required' => 'Bitte geben Sie eine Gruppenbezeichnung an!',
'group.max' => 'Die angegebene Gruppenbezeichnung ist zu lang (max. :max Zeichen).',
'priority.required' => 'Bitte geben Sie eine Gruppenpriorität an!',
'priority.integer' => 'Die angegebene Gruppenpriorität ist keine Zahl.',
'color.required' => 'Bitte geben Sie eine Gruppenfarbe an!',
'color.regex' => 'Die angegebene Gruppenfarbe hat ein ungültiges Format.'
];
}
/**
* @return RedirectResponse
*/
public function success(): RedirectResponse
{
return redirect()->route('admin.groups.edit', [$this->post('uuid')])->with([
'success' => 'Die Gruppe wurde erfolgreich bearbeitet.',
'alert-options' => 'aside'
]);
}
/**
* @return RedirectResponse
*/
public function failed(): RedirectResponse
{
return redirect()->route('admin.groups.edit', [$this->post('uuid')])->with([
'error' => 'Die Gruppe konnte aufgrund einer technischen Störung nicht bearbeitet werden.'
])->withInput();
}
}