> */ public function rules(): array { return [ 'label' => ['required', 'string', 'max:255'], 'url' => ['required', 'string', 'max:255'], 'location' => ['required', 'string', Rule::enum(MenuLocation::class)], 'type' => ['required', 'string', Rule::enum(MenuType::class)], 'parent_id' => ['nullable', 'integer', 'exists:menus,id'], 'order_index' => ['sometimes', 'integer', 'min:0'], 'is_active' => ['sometimes', 'boolean'], ]; } /** * @return array */ public function messages(): array { return [ 'label.required' => 'Menü etiketi zorunludur.', 'url.required' => 'URL zorunludur.', 'location.required' => 'Menü konumu zorunludur.', 'type.required' => 'Menü tipi zorunludur.', 'parent_id.exists' => 'Üst menü bulunamadı.', ]; } }