> */ public function rules(): array { return [ 'slug' => ['required', 'string', 'max:255', 'unique:pages,slug'], 'title' => ['required', 'string', 'max:255'], 'content' => ['nullable', 'string'], 'meta_title' => ['nullable', 'string', 'max:255'], 'meta_description' => ['nullable', 'string', 'max:255'], 'is_active' => ['sometimes', 'boolean'], 'blocks' => ['sometimes', 'array'], 'blocks.*.type' => ['required_with:blocks', 'string', 'max:50'], 'blocks.*.content' => ['required_with:blocks', 'array'], 'blocks.*.order_index' => ['sometimes', 'integer', 'min:0'], ]; } /** * @return array */ public function messages(): array { return [ 'slug.required' => 'URL slug alanı zorunludur.', 'slug.unique' => 'Bu slug zaten kullanılıyor.', 'title.required' => 'Başlık zorunludur.', ]; } }