-
app/Http/Requests/Admin/PostsRequest.php
Open in GitHubuse App\Rules\CanBeAuthor; use Carbon\Carbon; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Str; class PostsRequest extends FormRequest { public function authorize() { return true; } protected function prepareForValidation(): void { $this->merge([ 'slug' => Str::slug($this->input('title')) ]); $this->merge([ 'posted_at' => Carbon::parse($this->input('posted_at')) ]); } public function rules(): array { return [ 'title' => 'required', 'content' => 'required', 'posted_at' => 'required|date', 'thumbnail_id' => 'nullable|exists:media,id', 'author_id' => ['required', 'exists:users,id', new CanBeAuthor], 'slug' => 'unique:posts,slug,' . (optional($this->post)->id ?: 'NULL'), ]; } }