Validation message text and style

Rule 1 Do not flag compulsory fields, only flag optional ones (with the word "optional" in brackets after the field name). If all fields are optional, do not flag any fields.

Rule 2 If compulsory fields are left blank, show error text that explains why we want that information.

Rule 3 For invalid fields, we always try silently to correct for the error first if we can, and only trip an error message if we can't. For example, if an email address has a space in it, we silently remove that space before submitting the form, since we assume that this is a legitimate error. If we cannot safely auto-correct the error, we let the error stand and prefix the message with "Sorry" if appropriate ("Sorry, that doesn't look like an email address").

Rule 4 Fields should not have length limits because shortening stuff (like a name) often isn't possible. Exception: If the length of the data entered would cause problems for the teacher later.


Why don't we mark compulsory fields with little bum holes like other sites?

Two reasons:

  1. Because we assume never to ask for information we don't need.

  2. But more importantly, if required fields are left blank/in error, we can then use this to explain why we need the information in a context in which the user is receptive to that.

For example, rather than "Email is required" we say "We may need to contact you for more information". Note also that we do not need to refer to the field name in the message, since the error is near the field in question.

But little bum holes are so common! Why not simply put explanatory text on the fields to begin with?

Because nobody reads "pre-emptive" text like that (Steve Krug, "Don't Make Me Think" p.46), and it clutters the form with noise. 90% of people will complete the form without errors in any case.

But it's the language of the web! People know and expect bum holes!

Many patterns on the web are sub-optimal, from a time when the web was young and we didn't know how to design for it. Through research, we know better now, and members of the design team at Tes who are in touch with their counterparts elsewhere agree that it behoves them to help evolve design for the greater good.

And besides, you'll never be better than everyone else by being the same as everyone else.

NOTE: There are of course some exceptions, but we'll just handle those case by case rather than trying to squeeze them into this "framework". Bottom line: don't sweat it. Nothing can stop somebody abandoning a form because a field they thought was optional turns out to be compulsory (or vice versa). Better to just create a better UX for all the others.