Checks the Form.xml of a managed form for structural errors: ID uniqueness, presence of companion elements, correctness of DataPath and command references.
Usage
/form-validate <FormPath>
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
| FormPath | yes | — | Path to the Form.xml file |
| MaxErrors | no | 30 | Stop after N errors |
Command
powershell.exe -NoProfile -File .claude/skills/form-validate/scripts/form-validate.ps1 -FormPath "<путь>"
Checks performed
| # | Check | Severity |
|---|---|---|
| 1 | Root element <Form>, version="2.17" |
ERROR / WARN |
| 2 | <AutoCommandBar> is present, id="-1" |
ERROR |
| 3 | Uniqueness of element IDs (separate pool) | ERROR |
| 4 | Uniqueness of attribute IDs (separate pool) | ERROR |
| 5 | Uniqueness of command IDs (separate pool) | ERROR |
| 6 | Companion elements (ContextMenu, ExtendedTooltip, etc.) | ERROR |
| 7 | DataPath → references an existing attribute | ERROR |
| 8 | CommandName of buttons → references an existing command | ERROR |
| 9 | Events have non-empty handler names | ERROR |
| 10 | Commands have an Action (handler) | ERROR |
| 11 | No more than one MainAttribute | ERROR |
Output
=== Validation: ФормаДокумента ===
[OK] Root element: Form version=2.17
[OK] AutoCommandBar: name='ФормаКоманднаяПанель', id=-1
[OK] Unique element IDs: 96 elements
[OK] Unique attribute IDs: 38 entries
[OK] Unique command IDs: 5 entries
[OK] Companion elements: 86 elements checked
[OK] DataPath references: 53 paths checked
[OK] Command references: 2 buttons checked
[OK] Event handlers: 41 events checked
[OK] Command actions: 5 commands checked
[OK] MainAttribute: 1 main attribute
---
Total: 96 elements, 38 attributes, 5 commands
All checks passed.
Return code: 0 = all checks passed, 1 = there are errors.
When to use
- After
/form-compile: check the correctness of the generated form - After manually editing Form.xml: make sure that IDs are unique, companions are in place, and references are valid
- When debugging: identify errors in the form structure before building the EPF