Replacing the standard message texts
You can define your own error messages to replace the standard texts for all questions or for individual questions. Defining message texts is very similar to defining questions and responses.
For all questions
To define replacement texts for the whole script, include the following in the metadata section:
StandardTexts block fields
(
Errors block fields
( <message_name> "<text>" info;
<message_name> "<text>" info;
...
);
);
Parameters
<message_name>
The name of the standard message you are replacing. See
Standard error messages.
<text>
The replacement message text.
You can define any number of replacement messages just by listing them one after the other inside the Errors block.
Replacement message texts can contain substitution markers for things such as question names or category texts, in the same way that markers are used in the standard texts. Substitution markers are always enclosed in { } braces to differentiate them from the message text, and are as follows:
Marker
|
Description
|
ANSWER
|
The respondent’s answer.
|
RANGE
|
The valid answer range for the question as defined in the metadata section.
|
QUESTION
|
The question name.
|
QUESTION_NUMBER
|
The question number.
|
LENGTH
|
The length of the response text.
|
MINLENGTH
|
The minimum length for a text response.
|
MAXLENGTH
|
The maximum length for a text response.
|
MINANSWERS
|
The minimum number of answers that must be chosen from a multiple choice list.
|
MAXANSWERS
|
The maximum number of answers that can be chosen from a multiple choice list.
|
CATEGORY
|
The text of a single multiple choice response.
|
ERROR
|
The error message associated with an internal error.
|
The substitution markers in the table apply to specific standard error messages only and replacements that you define for those messages. A replacement text can include some or all of the substitution markers that are used in the corresponding standard error message, but should not contain substitution markers that are used in other error texts. For example, the TooLittleText error is “The answer does not have enough text, current length is '{LENGTH}', minimum is '{MINLENGTH}'." Your replacement text might use both markers or neither of them. The replacement message “Incorrect text length. Must be between {MINLENGTH} and {MAXLENGTH} characters.” will not work because {MAXLENGTH} is not valid with TooLittleText. The interviewing program will treat the marker as ordinary text.
The same rule applies to other substitution markers (also known as inserts) that you might use elsewhere in the questionnaire script. These markers are not valid in error messages and will be treated as ordinary text.
Example
StandardTexts "StandardTexts" block fields
(
Errors "Errors" block fields
(
MissingAnswer "You have forgotten to answer the question."
info;
InvalidText "Your response is not in the right format."
info;
TooFewAnswers "You have not chosen enough answers. At least
{MINANSWERS} are required."
info;
);
);
For individual questions
If you want to use a different message for just one question in a script, you define it in the metadata section as a helper text related to that question. Write the question’s definition as normal and then insert the helperfields block at the end of the definition:
<question_name> "<question_text>" <definition>
helperfields
(
StandardTexts block fields
(
Errors block fields
( <message_name> "<message_text>" info;
);
);
Parameters
<question_name>
The question name.
<question_text>
The question text.
<definition>
The remainder of the usual question definition, including the question type, length, and so on.
<message_name>
The name of the standard message you are replacing: see
Standard error messages.
<message_text>
The replacement message text.
Example
The following message will be displayed only if the respondents enters an invalid response at the MembershipNumber question:
MembershipNumber "Please enter your membership number."
text [9..9]
helperfields (
StandardTexts "StandardTexts" block fields
(
Errors "Errors" block fields
(
InvalidText "Invalid number. Membership number format is UUnnnnnnU;
for example, AA123456Z." info;
);
);
) validation("\u{2}\d{6}\u{1}");
You can also use the StandardTexts block for defining your own texts for navigation buttons and for the special response texts No answer, Don't know, and Refused.
See also