cms/app/Http/Requests/Admin/Posts/BasePostRequest.php

36 lines
953 B
PHP
Raw Normal View History

<?php
namespace App\Http\Requests\Admin\Posts;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
/**
* Base request for post operations, containing shared validation logic.
*/
abstract class BasePostRequest extends FormRequest
{
/**
* Get the base validation rules for posts.
*
* @param int|null $ignoreId
* @return array
*/
protected function baseRules(?int $ignoreId = null): array
{
return [
'title' => 'required|string|max:255',
'slug' => [
'required',
'string',
'max:255',
$ignoreId ? Rule::unique('posts')->ignore($ignoreId) : 'unique:posts',
],
'content' => 'required|array',
'custom_fields_data' => 'nullable|array',
'status' => 'required|string|in:draft,published',
'published_at' => 'nullable|date',
];
}
}