- 在 ResourceValidator 中添加 validate_template_vars 方法 - 在验证阶段检查用户是否提供了模板所需的必需变量 - 缺少必需变量时返回 ERROR 级别错误 - 添加 9 个单元测试用例验证功能 - 同步更新 OpenSpec 规格文档
26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
## 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 变更,仅内部验证逻辑增强
|