|string> */ public function rules(): array { $rules = [ 'module_name' => ['required', 'string', 'max:255', new ValidExtensionIdentifier], 'vendor_mode' => ['nullable', 'string', 'in:auto,composer,bundled'], ]; // 모듈/플러그인이 validation rules를 동적으로 추가할 수 있도록 훅 제공 return HookManager::applyFilters('core.module.install_validation_rules', $rules, $this); } /** * Get custom messages for validator errors. * * @return array */ public function messages(): array { return [ 'module_name.required' => __('modules.validation.name_required'), 'module_name.string' => __('modules.validation.name_string'), 'module_name.max' => __('modules.validation.name_max'), ]; } }