36 lines
967 B
PHP
36 lines
967 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Requests\Admin\Forms;
|
||
|
|
|
||
|
|
use Illuminate\Foundation\Http\FormRequest;
|
||
|
|
use Illuminate\Validation\Rule;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Base request for form operations, containing shared validation logic.
|
||
|
|
*/
|
||
|
|
abstract class BaseFormRequest extends FormRequest
|
||
|
|
{
|
||
|
|
/**
|
||
|
|
* Get the base validation rules for forms.
|
||
|
|
*
|
||
|
|
* @param int|null $ignoreId
|
||
|
|
* @return array
|
||
|
|
*/
|
||
|
|
protected function baseRules(?int $ignoreId = null): array
|
||
|
|
{
|
||
|
|
return [
|
||
|
|
'name' => 'required|string|max:255',
|
||
|
|
'slug' => [
|
||
|
|
'required',
|
||
|
|
'string',
|
||
|
|
'max:255',
|
||
|
|
$ignoreId ? Rule::unique('forms')->ignore($ignoreId) : 'unique:forms',
|
||
|
|
],
|
||
|
|
'fields' => 'required|array',
|
||
|
|
'success_message' => 'nullable|string|max:255',
|
||
|
|
'redirect_url' => 'nullable|string|max:255',
|
||
|
|
'notification_email' => 'nullable|email|max:255',
|
||
|
|
];
|
||
|
|
}
|
||
|
|
}
|