[ 'required', 'string', 'max:50', 'regex:/^[a-z0-9_-]+$/', Rule::unique('folders')->where(function ($query) { return $query->where('tenant_id', auth()->user()->tenant_id ?? 0); }), ], 'folder_name' => 'required|string|max:100', 'description' => 'nullable|string|max:500', 'display_order' => 'nullable|integer|min:0', 'is_active' => 'nullable|boolean', 'icon' => 'nullable|string|max:50', 'color' => 'nullable|string|max:20|regex:/^#[0-9A-Fa-f]{6}$/', ]; } public function messages(): array { return [ 'folder_key.required' => __('error.folder_key_required'), 'folder_key.unique' => __('error.folder_key_duplicate'), 'folder_key.regex' => __('error.folder_key_format'), 'folder_name.required' => __('error.folder_name_required'), 'color.regex' => __('error.color_format'), ]; } }