user()?->current_tenant_id; return [ 'board_code' => [ 'required', 'string', 'max:50', // 테넌트 게시판 내에서만 중복 체크 (시스템 게시판과는 중복 허용) Rule::unique('boards', 'board_code')->where('tenant_id', $tenantId), ], 'board_type' => 'nullable|string|max:50', 'name' => 'required|string|max:100', 'description' => 'nullable|string|max:500', 'editor_type' => 'sometimes|string|in:wysiwyg,markdown,text', 'allow_files' => 'sometimes|boolean', 'max_file_count' => 'sometimes|integer|min:0|max:20', 'max_file_size' => 'sometimes|integer|min:0|max:102400', 'extra_settings' => 'nullable|array', 'extra_settings.target' => 'nullable|string|in:all,department', 'extra_settings.target_id' => 'nullable|integer', 'extra_settings.target_name' => 'nullable|string|max:100', 'extra_settings.permissions' => 'nullable|array', 'extra_settings.permissions.read' => 'nullable|array', 'extra_settings.permissions.write' => 'nullable|array', 'extra_settings.permissions.manage' => 'nullable|array', 'is_active' => 'sometimes|boolean', ]; } public function messages(): array { return [ 'board_code.required' => __('validation.required', ['attribute' => '게시판 코드']), 'board_code.unique' => __('validation.unique', ['attribute' => '게시판 코드']), 'name.required' => __('validation.required', ['attribute' => '게시판명']), ]; } }