be in the active voice–'Enter your name' not'Your name must have an entry'
be written consistently – if one message is'Enter your name' another one for a missing address should be similar not'Please provide an entry for your address'
include a reference to the problematic question so that the user can understand the message without having to re-read the question(particularly important for screen-reader users)
explain why the error has happened without blaming the user for the error
tell the person exactly what they need to do – avoid‘Fill in this question’ or‘Answer this question’
be included in the prototypes so you can test them
Test your error messages with users
Error messages are often neglected - make sure they’re written by a content designer and have been tested in user research
Use inline form validation with caution