JSON Validation
RDT provides JSON Schema validation for three categories of configuration files: per-environment deploy configs (rdt.json), business-service definitions, and Dynamic App configurations.
Overview
rdt.json Validation
The rdt.json schema is automatically registered — no setup required. Any file matching **/project/environments/*/rdt.json gets full validation.
What You Get
- Property autocompletion — press
Ctrl+Spaceto see all valid fields - Enum value suggestions — e.g.,
driverNamesuggests"oracle"and"postgresql" - Unknown property detection — typos and invalid fields are flagged immediately (
additionalProperties: false) - Hover documentation — hover over any property to see its description
GIF needed
Rdt.json validation — autocomplete, enum suggestions, unknown property error
Example
Valid:
{
"helmChartVersion": "0.1.1",
"driverName": "postgresql"
}
Invalid (unknown property):
{
"helmChartVersion": "0.1.1",
"driverName": "postgresql",
"unknownField": true
}
The unknownField property will show a red squiggle: "Property unknownField is not allowed".
See Per-Environment Config for the full schema reference.
Business Service Validation
After running the Business IntelliSense setup (via the Copilot status bar menu), five schemas validate your business-service configuration files:
| File Pattern | Schema | What It Validates |
|---|---|---|
**/business-service/entities/**/*.json | entities_schema.json | Entity model definitions |
**/business-service/services/**/*.json | services_schema.json | Service operation definitions |
**/business-service/messages/**/*.json | messages_schema.json | Message format definitions |
**/business-service/tenants/**/*.json | tenant_schema.json | Multi-tenant configuration |
**/business-service/connectors/**/*.json | connectors_schema.json | External system connectors |
Setup
These schemas are configured through the Copilot status bar menu:
- Click the Copilot status bar
- Select IntelliSense Config Setup/Update
- Schemas are copied and
.vscode/settings.jsonis configured
What You Get
- Property autocompletion for entity fields, service operations, message formats
- Type validation — ensures values match expected types
- Required field checking — flags missing mandatory properties
- Enum validation — restricts values to valid options
GIF needed
Business service JSON validation — autocomplete for entity properties, required field warning
DynApp Configuration Validation
Dynamic App schemas are versioned and downloaded from the npm registry. Set them up via the Copilot status bar menu → Setup DynApp Schemas.
How It Works
- You select a DynApp schema version (e.g.,
9.24.3) - RDT downloads the
vscode-dynamic-appnpm package - JSON schemas are extracted and stored in VS Code's global storage
- Schema associations are added to
.vscode/settings.json
Version Management
You can install multiple schema versions simultaneously for different branches or projects.
What You Get
- Full IntelliSense for DynApp-specific configuration files
- Validation against the exact schema version used by your project
- Error detection for breaking changes between DynApp versions
GIF needed
DynApp JSON validation with version-specific schema
Troubleshooting
| Problem | Solution |
|---|---|
No validation on rdt.json | Ensure the file is at **/project/environments/*/rdt.json — the pattern must match |
| No validation on business-service files | Run the IntelliSense setup from the Copilot menu |
| Stale DynApp schemas | Re-download the version from the DynApp Schema Manager |
| Schema conflicts | Check .vscode/settings.json for duplicate entries in json.schemas |
| Validation not updating after schema change | Reload the VS Code window (Ctrl+Shift+P → "Developer: Reload Window") |