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

70 lines
1.8 KiB
PHP

<?php
namespace LaraBB\Forum\UI\Web\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\RedirectResponse;
/**
* Class Store
* @package LaraBB\Forum\UI\Web\Requests
*/
class Store extends FormRequest
{
/**
* @return bool
*/
public function authorize(): bool
{
return true;
}
/**
* @return array
*/
public function rules(): array
{
return [
'title' => 'required|max:255',
'category' => 'required|exists:categories,uuid',
'slug' => 'required|max:255',
];
}
/**
* @return array
*/
public function messages(): array
{
return [
'category.required' => 'Bitte wählen Sie eine Kategorie aus!',
'category.exists' => 'Die angegebene Kategorie existiert nicht.',
'title.required' => 'Bitte geben Sie einen Titel für das neue Forum an!',
'title.max' => 'Der angegebene Titel ist zu lang (max. :max Zeichen).',
'slug.required' => 'Bitte geben Sie eine URL zum Forum an!',
'slug.max' => 'Die angegebene URL ist zu lang (max. :max Zeichen).'
];
}
/**
* @return RedirectResponse
*/
public function success(): RedirectResponse
{
return redirect()->route('admin-forums')->with([
'success' => 'Das Forum wurde erfolgreich erstellt.',
'alert-options' => 'aside'
]);
}
/**
* @return RedirectResponse
*/
public function failed(): RedirectResponse
{
return redirect()->route('admin.forums.create')->with([
'error' => 'Das Forum konnte aufgrund einer technischen Störung nicht erstellt werden.'
])->withInput();
}
}