1
0

feat: 添加模板变量验证功能

- 在 ResourceValidator 中添加 validate_template_vars 方法
- 在验证阶段检查用户是否提供了模板所需的必需变量
- 缺少必需变量时返回 ERROR 级别错误
- 添加 9 个单元测试用例验证功能
- 同步更新 OpenSpec 规格文档
This commit is contained in:
2026-03-03 01:00:21 +08:00
parent e31a7e9bed
commit ef3fa6a06a
9 changed files with 468 additions and 89 deletions

View File

@@ -0,0 +1,25 @@
## Why
当前验证器(`yaml2pptx.py check` 命令)只验证 YAML 语法和元素有效性,但不验证模板变量的完整性。用户在使用模板时如果缺少必需变量(如 title验证器仍然返回成功导致用户在转换阶段才发现问题。需要在验证阶段提前发现这类问题提升用户体验。
## What Changes
`validators/validator.py` 的验证流程中添加模板变量验证功能:
1. 检测 YAML 是否使用模板(检查 `slides[].template` 字段)
2. 加载模板定义(读取模板 YAML 文件)
3. 检查模板中的必需变量是否在 `vars` 中提供
4. 如缺少必需变量,添加验证错误
## Capabilities
### New Capabilities
- `template-variable-validation`: 验证器在检查阶段验证模板必需变量是否提供
### Modified Capabilities
- `yaml-validation`: 需要扩展验证范围,加入模板变量完整性检查(新增需求,不是修改现有需求)
## Impact
- 主要影响:`validators/validator.py` 的验证逻辑
- 次要影响:可能需要调整验证错误信息的格式
- 无 API 变更,仅内部验证逻辑增强