DAQS Error Message Structure
Why a fixed structure?
A good error message should:
- Explain what is wrong
- Explain how to fix it
- Provide context about why the rule exists
To ensure consistency, DAQS uses a fixed Markdown structure for all error messages.
This structure is used in:
- DAQS Assist for Revit
- reports
- documentation
- training material
Error message structure
Every error message consists of three sections.
#### Issue
Description of the problem.
#### Solution
Concrete steps to fix the issue.
#### Explanation
Additional context explaining why the rule exists.
Issue
The Issue section describes what is wrong in the model.
Guidelines:
- clearly state which parameter or property is incorrect
- use placeholders such as
{ActualValue}and{ExpectedValue} - avoid explanations or solutions in this section
Example
Issue
The current value of parameter NLRS_C_brandwerendheid is {ActualValue}.
This value is not part of the allowed list: {ExpectedValue}.
Solution
The Solution explains how the issue can be resolved.
Guidelines:
- provide clear actions
- refer to the correct parameter or standard
- avoid long explanations
Example
Solution
Open the element in Revit and change the value of parameter NLRS_C_brandwerendheid.
Use a value from the allowed list: {ExpectedValue}.
Explanation
The Explanation provides background information.
Guidelines:
- explain why the rule exists
- optionally reference standards or agreements
- recommended but optional
Example
Explanation
The parameter NLRS_C_brandwerendheid represents the fire resistance of an element in minutes.
Allowed values are based on the European standard EN 13501, where:
E = integrity
I = thermal insulation
Placeholders
Error messages use placeholders so DAQS can dynamically insert values.
| Placeholder | Meaning |
|---|---|
{ActualValue} |
Current value in the model |
{ExpectedValue} |
Allowed value or list |
Filter placeholders
Values returned by the JSONata filter can also be used in the error message.
Syntax: {{KeyName}}
⚠ The double curly braces are mandatory. Single braces will not work. Example filter output:
{
"id": 14567,
"name": "Basic Wall 200mm",
"category": "Walls"
}
Example
The current value is {ActualValue}, but must be one of the following values: {ExpectedValue}.
Bad vs good error messages
Bad
Parameter has wrong value.
Problems:
- unclear
- no solution
- no context
Good
Issue
The value of parameter NLRS_C_brandwerendheid is {ActualValue}.
This value is not part of the allowed list: {ExpectedValue}.
Solution
Change the parameter to one of the allowed values from the list {ExpectedValue}.
Explanation
The parameter NLRS_C_brandwerendheid represents the fire resistance of an element according to the European standard EN 13501.
Best practices
When writing error messages:
- keep them clear and concise
- always mention the parameter name
- use placeholders instead of hardcoded values
- avoid technical implementation details
- follow the structure Issue → Solution → Explanation