|string> */ public function rules(): array { $rules = [ 'layout_strategy' => ['nullable', 'string', 'in:overwrite,keep'], 'vendor_mode' => ['nullable', 'string', 'in:auto,composer,bundled'], // 코어 버전 비호환 강제 우회 플래그 (위험 인지 후 사용자 명시 필요) 'force' => ['nullable', 'boolean'], ]; return HookManager::applyFilters('core.plugin.perform_update_validation_rules', $rules, $this); } /** * 검증 오류 메시지 커스터마이징 * * @return array */ public function messages(): array { return [ 'layout_strategy.in' => __('plugins.errors.invalid_layout_strategy'), 'vendor_mode.in' => __('plugins.errors.invalid_vendor_mode'), ]; } }