Error messages

Be answer first

Error messages at Bulb are answer first. They tell a member what is wrong and how to fix it.

A good error message:

  • Gives specific guidance
  • Is concise
  • Is shown where the error happened

Tone of voice

Bulb's tone of voice bubbles with humour and personality. Error messages are not the place to show this. A Bulb error message is on brand by being clear and helpful.

No:

Yes:

Words we don't use

We don't use jargon or complicated terms.

We don't say 'hmmm' or 'oops'

When something has gone wrong it's our job to get it fixed as quickly as possible. This means telling a member what went wrong and how they can fix it. Words like 'hmmm' and 'oops' get in the way of that.

We avoid 'please'

Saying 'please', while polite, gives the impression that something is optional. Whenever an action must be completed, we should avoid saying please. If an action is optional, or we don't know why the error happened, we can say please. We can also use 'please' when it's definitely our fault.

But this should be the exception.

Forms

Error messages are only as good as the form they're a part of. Error messages should not do the job of field labels or specific requirements.

Use clear labels

Label an input field with the required input.

Explain necessary formats

If an input field needs a specific format, and the format isn't commonly known, tell the member the format. Provide examples where useful.

Give guidance

If you think a member would benefit from additional instruction, and it's more than will fit below the field label, include this before the input field.

Ask only for what we need

All fields on a Bulb form are required unless labelled optional, which is styled as '(optional)'. This makes it easier for members to understand what they need to fill in at a glance.

General structure

Error messages should be fluid enough to account for different needs, but generally they will follow this pattern.

[ACTION] + [ITEM MISSING] + [FORMAT]

For example:

  • [Enter] + [your first name]
  • [Confirm] + [you have read and understood Bulb's Terms and Conditions]
  • [Enter] + [a telephone number,] + [like 01632 960 000]

Specific examples

Confirmation

When the user needs to confirm they agree to a statement or have taken an action: 'Confirm [agree to statement or have taken action]'

Example:
'Confirm you agree to Bulb's Privacy Policy'
'Confirm you have read and understood Bulb's Terms and Conditions'

Date of birth

When the field is left blank:
'Enter your date of birth'

When the date is missing a component and we know what it is:
'Date of birth must include a [day][month][year]'

When the date is missing a component and we don't know what it is:
'Enter your date of birth and include the day, month, and year'

When they enter a date ahead of the current day:
'Date of birth must be in the past'

When they enter something that is not a number:
'Date of birth must include only numbers'

Email address

When the field is left blank:
'Enter your email address'

When the email address is in the wrong format:
'Enter an email address in the format name@example.com'

Multiple options

When there are multiple options of a similar type and you can only choose one, but could choose none:
'Select one of the [type of option] or None of these'

Example:
'Select one of the benefits or None of these'

When there are multiple options of a similar type and you can choose several, but could choose none:
'Select at least one [type of option] or None of these'

When there are multiple options of a similar type and you have to choose one:
'Select at least one [type of option]'

When there are multiple options of a type that can't easily be grouped together:
'Select one of the options'
'Select at least one of the options'
'Select one of the options or None of these'
'Select at least one of the options or None of these'

Phone number

When the field is left blank:
'Enter a telephone number, like 01632 960 000'

When the telephone number uses characters that are not numbers:
'Telephone number must include only numbers'

Uploading a file

If the file upload fails:
'The upload failed, try again'

If they didn't select a file:
'Select a file to upload'

Yes or no questions

When the answer is yes or no:
'Select yes if you [question they are answering yes or no to]'

Example:
'Select yes if you currently use gas and electricity'